一、字符串
""" # 首字母大写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)
二、列表
""" # 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)
三、元组
#元组为列表的二次加工 # 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)
四、字典
# 字典 创建字典对象 # 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 比较常用必须会