【Python】学习笔记2-数组类型:字符串方法、字典、元组
二、字符串方法
1 # # 字符串不能修改 2 # s = 'abc' 3 # # s[1] = 'd' 4 # # print(s) #报错,不能修改 5 # s = 'cde' #这种可以的 6 7 # # 注意: 可变变量:list(数组),字典 8 # # 注意:不可变变量:元组,字符串 9 10 #字符串方法都不会改变原来字符串的值 11 12 # strip()# strip默认去掉首位空格和换行符 13 name = ' cm beauteful' 14 print(name) 15 print(name.strip()) 16 print(name.strip('l'))# strip还可以去掉两边的参数 17 print(name.lstrip())# lstrip,去掉左边空格 18 print(name.rstrip())# rstrip,去掉左边空格 19 20 21 # count查找字符出现的次数 22 print(name.count('c')) 23 24 # capitalize首字母大写 25 name = 'abc' 26 print(name.capitalize()) 27 28 # center 字符串被其他字符放在中间 29 name = 'abc' 30 print(name.center(20,'-')) 31 print(name) 32 33 # find 找下标 34 print(name.find('a'))# 不存在返回-1,多个返回第一个 35 36 # index 找下标 37 print(name.index('a'))#index如果找不到报错 38 39 # upper把所有字符变成大写 40 # lower把所有字符变成小写 41 print(name.upper()) 42 print(name.lower()) 43 44 # endswitch 判断字符串以什么结尾,返回真或者假 注意:可用于判断文件格式 45 # startswitch 判断字符串以什么开头,返回真或者假 46 file_name ='111.xls' 47 print(file_name.endswith('.xls')) 48 print(file_name.startswith('.xls')) 49 50 # format 传入的是一个字典,格式化输出 51 name = '{name} welcome' 52 print(name.format(name = 'meng')) 53 print('sssss') 54 55 # replace字符串替换,如果有多个全部替换 56 name = 'chen' 57 print(name.replace('chen','cheng')) 58 59 # isdigit判断是否为数字 常用 60 print('wos2'.isdigit()) #False 61 62 # islower 判断是否是小写字母 忽略 63 print('231a'.isalnum())# 判断是否包含数字或字母 忽略 64 print('add'.isalpha())# 判断是不是英文字母 忽略 65 66 # split,常用 67 s ='a,b,c,d' 68 # 将字符串分割成数组,去掉, 69 print(list(s))#强制转换成数组list,输出['a', ',', 'b', ',', 'c', ',', 'd'] 70 a =s.split(',') 71 print('数组为:',a) 72 print('a b c d e'.split())#不带参数时,默认为空格分割 73 74 75 # join很常用,一个字符把两个字符串相连,可以循环的变量都可以用,数组,字典,元组都可以用 76 # 如果字符中间包含布尔型,或者数字的,都不可以连接,先强制类型转换 77 # 比如:注意:将数组转成字符串 78 str=['a','b','c'] 79 str1=('a','b','c') 80 str2={'name':'cm','age':11} 81 print(','.join(str)) 82 print(','.join(str1))#name,age 83 print(','.join(str2))#name,age 84 print(''.join(str))#将数组转成字符串abc
三、字典
key value 形式,取值方便,速度快
1 # 定义 2 d = {'name': 'chenmeng', 3 'age': 11, 4 'add': '北京'} 5 print(d) 6 7 # 取值 8 print(d['name']) # chenmeng # 【key】取值,如果不存在key报错 9 print(d.get('name')) # .get方法取值,如果不存在时,获取到空时,不会报错返回none,所以用get稍好 10 print(d.get('names', '请求不到时默认显示内容')) 11 12 # 增加1:给【】赋值,如果key存在则修改,如果不存在新增 13 d['shengao'] = 180 14 # 增加2:setdefault 15 d.setdefault('weight', '60') 16 17 # 修改 18 d['shengao'] = 190 19 20 # 删除pop 21 d.pop('shengao') # 字典是无序的,每次打印顺序可能不一致,所以要指定 22 23 # 随机删除 24 d.popitem() 25 26 # 删除del 27 d = {'name': 'chenmeng', 28 'age': 11, 29 'add': '北京'} 30 del d['name'] # {'add': '北京', 'age': 11} 31 32 # 清空字典 33 # d.clear() 34 35 # 查询所有key,查询所有values,然后对所有key或者字段做操作 36 print(d.keys()) # 获取到所有的key,返回数组:['age', 'add'] 37 print(d.values()) # 获取到所有的values,返回数组:[11, '北京'] 38 39 # 判断key是否在字典里面,默认判断的是key 40 if 'age' in d: 41 print(d.get('age')) 42 else: 43 print('d中不包含age') 44 45 # 只打印key 46 for i in d: 47 print(i) 48 49 # items()将字段转换成二维数组,如果要使用的话,还需要强制类型转换成list(d.items) 50 print(d.items()) 51 print(list(d.items())[0]) 52 53 # 强制类型转换 54 int() 55 str() 56 list() # 转换成数组 57 58 # 打印key,value用items,性价比低,一般用下面的写法 59 for k, v in d.items(): 60 print(k, v) 61 # 输出: age 11 62 # add 北京 63 64 # 取出所有key value 65 for i in d: 66 print(i, d.get(i)) 67 68 # 格式化代码操作:工具栏code->refomate 69 70 71 # 72 # # 练习取值 73 74 # list和字典混合查看输出 75 strus = [ 76 {'name': 'chenmeng', 77 'age': 11, 78 'add': '北京'}, 79 {'name': 'chenmeng1', 80 'age': 11, 81 'tell': 177000000} 82 ] 83 print(strus[0]['name']) #chenmeng 84 85 86 # stus = { 87 # 'ybq': { 88 # 'age': 18, 89 # 'sex': '男', 90 # 'addr': '昌平区', 91 # 'money': 10000000, 92 # 'jinku': { 93 # '建行卡': 80000, 94 # '工商卡': 800000, 95 # '招商卡': 8000000 96 # } 97 # }, 98 # 'tlx': { 99 # 'age': 19, 100 # 'sex': '女', 101 # 'addr': '昌平区', 102 # 'money': 10000000, 103 # 'huazhuangpin': ['chanle','haha'] 104 # }, 105 # 'mpp': { 106 # 'age': 19, 107 # 'sex': '女', 108 # 'addr': '昌平区', 109 # 'money': 10000000, 110 # "bag": { 111 # 'lv': '一车', 112 # '鳄鱼':10 113 # } 114 # }, 115 # } 116 # 117 # # 打印所有ybq的钱 118 # # 方法1 119 # print(stus['ybq']['jinku']['建行卡']+stus['ybq']['jinku']['工商卡']+stus['ybq']['jinku']['招商卡']) 120 # print(sum(stus['ybq']['jinku'].values())) 121 # 122 # # 方法2 123 # summoney=0 124 # allmoney = stus['ybq']['jinku'].values() 125 # print(allmoney) 126 # for money in allmoney: 127 # summoney+=money 128 # print(summoney)
四、元组
1 # 六、元组 2 # 元组一旦被定义不能重新赋值,不能改变 3 # 元组也是list,取值和list一样 4 # tpye()查看变量类型 5 a=(1) 6 print(type(a)) 7 a=(1,2) #元组 8 print(type(a)) 9 10 # 只有两个函数 11 # count 找个数 12 # index 找索引 13 14 a = (1,2,4,1) 15 print(a.count(1)) 16 print(a.index(1)) 17 18 19 a = ('我','们','学习','我') 20 print(a.count('我')) 21 print(a.index('学习'))