python之字符串、字典手册
Contents
- 字符串操作
- 字典操作
字符串操作
字符串相关的操作比较多,主要可以分为以下12个大类:
- 首字母大写、变title
- 字符串大小写转换
- 字符统计
- 字符索引
- 字符替换
- 字符左侧、右侧添加某字符
- 字符左侧右侧删除空格 回车
- 编码与解码
- tab键的延长
- 字符判断
- 字符连接
- 字符拆分
1 s = ' Hello world' 2 ss = '你好' 3 # 1. 首字母大写 变为title的格式 4 s1 = s.capitalize() # 不会对s进行更改,需要重新赋值-- 使得首字母大写 5 s24 = s.title() # 该大写的单词的首字母都大写 6 7 # 2. 字符统计 8 s_l_num = s.count('l') # 统计字符串中 某个字符的个数 9 s_l_num_1 = s.count('l', 3, 9) # 统计字符串的起始位置的设置,也是顾首不顾尾 10 11 # 3. 在制定字符左侧,右侧添加某种字符 12 s2 = s.center(50, '*') # 显示50个字符,将s放置在中间,其余用*来表示 13 s13 = s.ljust(50, '*') # left 左侧为s字符,不足50 全部补* 14 s14 = s.rjust(50, '*') # right 右侧为s字符,不足左侧补* 15 s25 = s.zfill(30) # 不足30个左侧补0 ,如果字符串本身字符数大于30 则打印全部字符串 16 17 # 4. 字符的编码与解码 18 # s3 = s.encode('utf8') 19 # s4 = ss.encode('gb2312') 20 # s5 = s3.decode('gbk') 21 # s6 = s4.decode('gb18030') 22 23 # 5. 将tab延长 24 s7 = s.expandtabs(tabsize=30) # 延长字符串中\t的长度, 如果字符串中没有\t(tab)将不会有任何改变 25 sss = '\thello pyhton' 26 s8 = sss.expandtabs(tabsize=30) 27 28 # 6.查找某种字符的索引 29 s_index = s.find('l') # 查找字符串中,第一个'l'的位置 30 s_index_1 = s.find('3') # 如果字符串汇总没有该字符,则返回-1 不会报错 31 s_index_2 = s.rfind('l') # 从右侧开始查找 默认就是从左侧找,所以没有.lfind 32 33 sx = 'www.monologuesmw@163.com' 34 # 7. 对字符串进行各种判断,返回bool类型 结尾字符、数字、英文、十进制数、整数、合法字符、全小写、空格、标题、可打印 35 s_b = s.endswith('d') # 判断字符串是否是以d结尾 返回true/false bool类型 36 s_b1 = sx.endswith('.com', -4) # 判断最后4个字符是不是以 .com 结尾 37 s_bool = s.isalnum() # 判断字符串是否为全阿拉伯数字,是否有非法字符 38 s_bool1 = s.isalpha() # 判断字符串是否为全英文,空格也不行 39 s_bool2 = s.isdecimal() # 判断是否是十进制的数 40 s_bool3 = s.isdigit() # 判断是否是整数 41 s_bool4 = s.isidentifier() # 判断是否是合法的标识符 变量名 42 s_bool5 = s.islower() # 判断是否全是小写 43 s_bool6 = s.isnumeric # 判断是否全是数字,小数点也不行 44 s_bool7 = s.isspace() # 判断是不是空格(纯空格) 45 s_bool8 = s.istitle() # 判断是不是标题 即所有该大写的单词首字母都大写 46 s_bool9 = s.isprintable() # 判断是否可以打印 47 48 # 8. 字符连接 49 s9 = '+'.join(['1', '2', '3']) # 1+2+3 50 s10 = '+'.join('123') # 1+2+3 51 s11 = ''.join(['a', 'b', 'c']) # abc 52 s12 = ' '.join(['a', 'b', 'c']) # a b c 53 54 # 9. 字符变大小写 55 s15 = s.lower() # 全部变小写 56 s16 = s.upper() # 全部变大写 57 58 # 10. 删除字符左右两侧的空格 回车 59 s17 = s.lstrip() # 左侧去掉空格和回车 60 s18 = s.rsplit() # 右侧去掉空格和回车 61 s19 = s.strip() # 左右两侧的空格和回车全部去掉 62 63 # 11. 字符替换 64 s20 = s.replace('l', 'L') # 将所有的'l' 变为 'L' 65 s21 = s.replace('q', 'Q') # 如果要替换的字符不存在,不会报错 66 67 # 12. 字符拆分 68 s22 = s.split() # 将字符串分割为列表 默认按空格分 69 s23 = s.splitlines() # 按换行符分割为列表
字典操作
字典也是一种无序的数据类型,没有下表索引,但又键,可以通过键获取值。 { }
- 键不能重复,也不能修改
- 值可以重复
- 列表是一种可更改的数据类型,其不能作为键。
- 删除删键
就像现实中的字典一样,键表示页数,而值表示该页的内容。 那么,页数是不能重复的,否则难以查询; 多音字时,值是可以重复的; 删除时应直接撕下那一页,即删除删键。
其方法可以总结为6大类:
1 dic = {1:'bob', 2:'Iris', '3': 'literature','4': '哈利'} 2 # 1. 删除与清空 3 dic.pop('3') # 删除删键 方式1 --1 4 del dic[1] # 删除 方式2 5 aa = dic.popitem() # 随机返回一个键值对,同时在原dic中删除该键值对, 字典为空时,会抛异常 6 print(aa) 7 dic.clear() # 直接清空 --2 8 # 2. 复制 9 dic1 = dic.copy() # 该复制与列表的复制相同--3 10 dic.update({1:'python'}) # 添加--4 11 print(dic, dic1) 12 13 # 3.字典转列表 14 ite_dic = dic.items() # 字典转列表,列表内元组 --5 15 print(ite_dic) 16 17 # 4. 获取键。 值。 并通过键安全的获取值 18 key_dic = dic.keys() # 获取键 --6 19 val_dic = dic.values() # 获取值 --7 20 print(len(key_dic)) 21 print(val_dic) 22 val_dic1 = dic.get(2) # 通过键 获取值 安全 没有该键时 返回none 不会报错 --8 23 print(val_dic1) 24 25 # 5. 初始化新姿势 26 dic2 = dic.fromkeys(['a', 'b', 'c'], '0') # 初始化的一种方式 --9 27 print(dic2) 28 29 # 6. 更新新姿势 字典中原先包含该键,则值不会发生更改;若不包含改键,则新增该键值对 30 D = {'Name': 'Runoob', 'Age': 7} 31 print("Age 键的值为 : %s" % D.setdefault('Age', '25')) # 键存在在字典中则不会设置为指定值 --10 32 print("Sex 键的值为 : %s" % D.setdefault('Sex', 'NA')) # 键不存在,指定一个值 33 print("School 键的值为 : %s" % D.setdefault('School')) # 键不存在,不指定值,默认为None 34 print("新字典为:", D)
P.S. 虽然初始化时,列表是[ ], 字典是{ }, 元组是(),字符串是 ‘ ’, 但在进行索引时都是 [ ] 。
作者:墨殇浅尘
-------------------------------------------
算法届的小学生,虔诚而不迷茫,做一个懂生活并有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个 [推荐] 噢! 欢迎共同交流机器学习,机器视觉,深度学习~
欢迎转载,转载请声明出处!