python-day3基本数据类型的方法(路飞学城)

一、字符串

"""
# 首字母大写capitalize 其余的全为小写
s = 'alexwusir'
s1 = s.capitalize()
print(s1)
# 全部大写upper、小写lower
s2 = s.upper()
s21 = s.lower()
print(s21)
"""
"""
# 输入验证码:不区分大小写 转换大小写对数字无影响
s_str = 'ac1EQ2'
you_input = input('请输入验证码,不区分大小写:')
if s_str.upper() == you_input.upper():
    print('输入成功')
else:
    print('请重新输入')
# 请输入验证码,不区分大小写:ac1eq2
# 输入成功
"""
"""
# 大小写翻转
s = 'ADFsafaUS'
s3 = s.swapcase()
print(s3)
"""
'''
# 首字母大写,中间以空格或者特殊字符(包括数字)隔开的 其余的为小写
s = 'hello_welcome*my/home'
s4 = s.title()
print(s4)
# Hello Welcome My Home
# Hello_Welcome*My/Home
'''
"""
# 填充并居中center(width(宽度),'填充')
s = 'alexWUsir'
s5 = s.center(20,'0')
print(s5)
# 将\t前边的字符逢8(不满8),16(过了8)隔开
s = 'alexWUsir\t'
s6 = s.expandtabs()
print(s6)
# alexWUsir       ||||
"""
'''
# 公共方法
# len()  检测长度
s = 'alexWUsir二哥'
l =len(s)
print(l)
# 结果:11
# 判断用户以什么什么开头,用到切片startswith('判断的字符串',其实位置,结束位置) 正确返回True 错误返回False
# endswith
s7 = s.startswith('alex')
s71 = s.startswith('e',2,5)
print(s71)
'''
"""
# 作用:
if s.startswith('al'):
    pass
elif s.startswith('bl'):
    pass
else:
    pass
"""
"""
# 找这个元素存不存在字符串中,找到后返回这个字符串的索引,找不到返回-1 find('元素',起始,结束) 通过元素找索引
s = 'alexWUsir'
s8 = s.find('WU',6,8)
print(s8,type(s8))
# 第二种通过元素找索引 index 找不到报错 首选find
s81 = s.index('W')
print(s81)
"""
'''
# 去除空格 strip([chars]=none) lstrip rstrip 默认删除空格 从前后开始查找
s = '    alexWUsir%   '
s9 = s.strip('% a')
s91 = s.lstrip(' a')  #从左边去除
s92 = s.rstrip(' ')  #从右边去除
print(s92)
# 应用
# username = input('请输入名字:').strip()
# if username == '春哥':
#     print('恭喜'+username)
'''
# 统计字符串中出现改字符的次数def count(self, sub, start=None, end=None)
# s = 'alexaa wusril'
# s10 = s.count('xaa')
# print(s10)

# 分割split def split(self, sep=None, maxsplit=-1) 以什么分割直接不显示
# 转换为列表用split
# s = 'alex:aa: :wusri:l'
# s11 = s.split(':')
# print(s11)
"""
# format 的三种用法 格式化输出
s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('太白',24,'girl','太白')
print(s)

s1 = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format('太白',24,'girl')
print(s1)
name = input()
s2 = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=24,name=name,hobby='girl')
print(s2)
"""
"""
# 替换 replace   def replace(self, old, new, count=None) 默认都替换
s = '按实际发货方哈吉斯发货法华寺发'
s12 = s.replace('发货','哈哈')
s13 = s.replace('发货','哈哈',1)  # 替换一次
print(s13)
"""
'''
# is 系列   返回True 或False
name = 'wusir123'
print(name.isalnum())  # 字符串由字母或数字组成
print(name.isalpha())  # 字符串由字母组成
print(name.isdigit())  # 字符串由数字组成
'''

# for循环  可以做模板
# s = 'asfagasfahfdasfa'
# for i in s:  # s 可以为字典、列表、字符串等可迭代对象
#     print(i)
'''
# in 在这里面
# not in 不在这里面
s = 'fafdsg苍老师kjsdfk'
if '苍老师' in s:
    print('您的评论有敏感词')
'''
# join 以前边的参数作为两个字符的链接符 将字符串中的每一个元素按照指定分隔符进行拼接
# test = "你是风儿我是沙"
# print(test)
# t = ' '
# v = t.join(test)
# print(v)
View Code

二、列表

"""
# list 类,列表
li = [1, 12, 9, "age", ["alex", [10, "19"], "wpq"], "all", True]
# 列表中的元素可以是数字,字符串,列表,布尔值。。所有的都可以放,“集合”内可以放任何东西

# 索引取值
print(li[3])

# 范围取值3<=x<5  3到最后 li[3:]  切片,结果也是列表
print(li[3:5])

#for循环
#while循环
for item in li:
    print(item)
"""""
#列表元素可以修改,与字符串不同
#可以不连续存储 通过链表寻找,上一位保存下一位的地址
#1、修改
# li = [1, 12, 9, "age", ["alex", [10, "19"], "wpq"], "all", True]
# 修改的第一种方式、索引修改
# li[1] = 130
# print(li)

# li[1] = [33,33,22,11]
# print(li)

#修改的第二种方式、切片修改
# li[1:3] = [120,90]
# print(li)

#2、删除的第一种方式、单一(索引)删除
# del li[1]
# print(li)

#删除的第二种方式、切片删除
# del li[1:5]
# print(li)

# in操作 在列表中的元素以逗号分割内部嵌套的列表算成一个列表的对象
# v = "alex" in li
# print(v) 输出False

# v = "alex" in li[4]
# print(v) 输出True

#索引取值
# li = [1, 12, 9, "age", ["alex", [10, "19"], "wpq"], "all", True]
# v = li[4][1][1]
# print(v)

#字符串转换成列表直接加list即可 ,列表转换调用for循环
# s = 'qwiruhajkhfuiaaaaaaaad'
# new_s = list(s)
# print(new_s)

#列表转换成字符串 需要for循环一个一个处理,既有数字又有字符串需要转换
#只有字符串用"".join()就可以
li = [11,22,33,"123","alex"]
# r = str(li) #"[11,22,33,"123","alex"]"
# s = ""
# for i in li:
#     i = str(i)
#     s += i
s = "".join(li)
print(s)
# li = [11,22,33,44,23,33,55,43]
#参数
#1、append 将数值追加到原来的列表中,会在原来值最后追加值与extend有所区别
# li.append(5)
# li.append("alex")
#2、clear 清空列表
# li.clear()
#3、copy 拷贝  浅拷贝
# v = li.copy()
# print(v)
#4、count 计数 括号中统计元素出现的次数
# v = li.count(22)
#5、extend 扩展
#def extend(self, iterable) iterable 可迭代的,表示方法中所带的参数(暂时学的有字符串,列表,元组)
#运用for循环将可迭代的值添加到列表中
# li.extend([9898,"不得了"])
#相当于下面的append
# for i in [9898,"不得了"]:
#     li.append(i)
#6、index 索引查询 根据值获取当前索引
# v = li.index(33)
#7、insert 插入 在指定索引位置插入元素
# li.insert(0,"alex")
#8、pop remove  pop删除的时候指定索引
#pop默认情况下删除最后一个(不指定索引),并可以获取删除的值
# v = li.pop(1)
#remove 后面接元素  删除列表中的元素,左边优先
# li.remove(33)
#9、reverse 反转,将当前列表进行翻转
# li.reverse()
#10、sort 排序 默认从小到大排序
# li.sort()
#下面的为从大到小排序加一个reverse
# li.sort(reverse=True)
# cap key 讲函数后,再讲暂时欠
# print(li)
View Code

三、元组

#元组为列表的二次加工
# tuple
#其中元素不可被修改,不能被增加或者删除
# tu = (111,"alex",(11,22),[(33,44)],True,33,44,)
#一般写元组的时候,在最后面的括号中加入一个逗号“,”和其他的做区别
# 1、索引取值
# v = tu[1]
# print(v)
#2、切片取值
# v = tu[-2:]
# print(v)
#3、for循环,可迭代对象
# for i in tu:
#     print(i)
#4、字符串、列表、元组间的转换
li = [1, 12, 9, "age", ["alex", [10, "19"], "wpq"], "all", True]
tu = (111,"alex",(11,22),[(33,44)],True,33,44,)
s = "asdsafasfa"
# 字符串转换元组
# v = tuple(s)
# print(v)
# 列表转换元组
# v = tuple(li)
# print(v)
# 元组转换为列表
# v = list(tu)
# print(v)
#元组转换为字符串
# 1 元组内元素为字符串的情况可以用join
# v = "".join(tu)
# print(v)
#2 写for循环
# s = ""
# for i in tu:
#     s += str(i)
# print(s)
# 元组是有序的
# v = tu[3][0][0]
# print(v)
#元组的一级元素不可修改里面的列表可以修改
# v = tu[3]
# print(v)

# tuple的方法
# count,获取指定元素在元组中出现的次数
# v = tu.count(33)
# print(v)
# index ,找到某一个值的获取所以位置
# v = tu.index(33)
# print(v)
View Code

四、字典

# 字典 创建字典对象
# dict
# info = {
#     "k1":"v1",  # ---->键值对一个key一个value
#     "k2":"v2"
# }
# 1、字典的value可以是任何值
# info = {
#     "k1": 18,
#     "k2": True,
#     "k3": [
#         11,
#         22,
#         33,
#         {
#             "kk1": "vv1",
#             "kk2": "vv2",
#             "kk3": (11, 22,),
#         }
#     ],
#     "k4": (11, 22, 33, 44,)
# }
# print(info)
# 2、可以作为key的值的 字典按照hash表保存的 列表、字典不可以作为字典的key

# info = {
#     2:'asdf',
#     "k1":'asdf',
#     True:"123",
#     (11,22):123
# }
# print(info)

# 3、字典无序
# info = {
#     "k1": 18,
#     2: True,
#     "k3": [
#         11,
#         22,
#         33,
#         {
#             "kk1": "vv1",
#             "kk2": "vv2",
#             "kk3": (11, 22,),
#         }
#     ],
#     "k4": (11, 22, 33, 44,)
# }
# 4、通过所以查找值
# v = info["k1"]
# v = info[2]
# v = info["k3"][3]["kk3"][0]
# 5、字典删除
# del info['k3'][3]["kk1"]
# print(info)
# 6、for循环 info 默认只循环keys  info.values 循环值
# for i in info.keys()
#     print(i)
# for i in info.values():
#     print(i)

# 7、kay和值一起取
# for i in info:
#     print(i,info[i])
# items 将键值对一起取出来,将key赋值给k ,value给v
# for k,v in info.items():
#     print(k,v)

# 下面的方法直接写类名加下面的方法
# @staticmethod # known case
# def fromkeys(*args, **kwargs)
# 括号内前边为keys 后面为values
# v = dict.fromkeys(["dwq",'mm',13])
# print(v)

# 取值 根据key取值没有会报错,get取值没有显示none
# dic = {
#     "k1":"v1",
#     "k2":"v1"
# }



# # v = dic["k11111"]
# v = dic.get('k11111')
# print(v)

# 删除字典的值并可以获取
# pop移除的意思 跟(key,默认值) 当key存在 移除键值对 并且可以将key所对应的value赋值给v ;key不存在,必须跟默认值,并将后面的默认值赋给v
# v = dic.pop("k1111",0)
# print(dic)
# print(v)

# v = dic.popitem()
# print(dic)
# print(v)

# setdefault 设置值,如果键值对存在,不设置,获取当前key所对应的值
# 不存在,设置,获取新设置的值
# v = dic.setdefault('k1',123)
# print(dic,v)

# update 更新
# key存在 替换现有的value
# key不存在 添加新的键值对
# dic.update({"k1":111111,"k3":"123"})
# print(dic)
# dic.update(k1=123,k3=222,k5="asdsda")
# print(dic)

#keys() values() items() get update 比较常用必须会
View Code

猜你喜欢

转载自www.cnblogs.com/xblovepython/p/9240476.html