Day3 of learning python--字符串
1.字符串的索引与切片
索引即下标,就是字符串组成元素从第一个开始,初始索引以0开始,以此类推
a = 'ABCDEFGHIJK' print(a[0])
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则是顾头不顾尾)。
a = 'ABCDEFGHIJK' print(a[0:3]) print(a[2:5]) print(a[0:]) #默认到最后 print(a[0:-1]) # -1 是列表中最后一个元素的索引,但是要满足顾头不顾腚的原则,所以取不到K元素 print(a[0:5:2]) #加步长 print(a[5:0:-2]) #反向加步长 结果为: ABC CDE ABCDEFGHIJK ABCDEFGHIJ ACE FDB
2.字符串的常用方法
(1)captalize,swapcase,title print(name.capitalize()) #首字母大写 print(name.swapcase()) #大小写翻转 msg='egon say hi' print(msg.title()) #每个单词的首字母大写 (2)center 内同居中,总长度,空白处填充 ret1 = a1.center(20,"*") print(ret1) (3)count 字符串中的元素出现的个数 ret3 = a1.count("a",0,4) # 可切片 print(ret3) (4)expandtabs 默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。 a2 = "hqw\t" ret4 = a2.expandtabs() print(ret4) (5)startswith,endswith startswith 判断是否以...开头 endswith 判断是否以...结尾 ret4 = a4.endswith('jdk',3,6) # 顾头不顾腚 print(ret4) # 返回的是布尔值 ret5 = a4.startswith("kfj",1,4) print(ret5) (6)find,index,寻找字符串中的元素是否存在 ret6 = a4.find("fjdk",1,6) print(ret6) # 返回的找到的元素的索引,如果找不到返回-1 ret61 = a4.index("fjdk",4,6) print(ret61) # 返回的找到的元素的索引,找不到报错。 (7)split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。ret9 = 'title,Tilte,atre,'.split('t') print(ret9) ret91 = 'title,Tilte,atre,'.rsplit('t',1) print(ret91) (8)format的三种玩法 格式化输出 res='{} {} {}'.format('egon',18,'male') print(res) res='{1} {0} {1}'.format('egon',18,'male') print(res) res='{name} {age} {sex}'.format(sex='male',name='egon',age=18) print(res) 结果: egon 18 male 18 egon 18 egon 18 male (9)strip,去掉要两头要删除的字符 name='*egon**' print(name.strip('*')) print(name.lstrip('*')) print(name.rstrip('*')) (10)relpace,代替字符 name='alex say :i have one tesla,my name is alex' print(name.replace('alex','SB',1)) (11)is系列 print(name.isalnum()) #字符串由字母或数字组成 print(name.isalpha()) #字符串只由字母组成 print(name.isdigit()) #字符串只由数字组成
3.基础数据类型的总结
按存储空间的占用分(从低到高)
数字
字符串
集合:无序,即无序存索引相关信息
元组:有序,需要存索引相关信息,不可变
列表:有序,需要存索引相关信息,可变,需要处理数据的增删改
字典:无序,需要存key与value映射的相关信息,可变,需要处理数据的增删改
按可变和不可变分
| 可变 | 列表,字典 |
| 不可变 | 数字,字符串,元组,布尔值 |
按访问顺序区分
| 直接访问 | 数字 |
| 顺序访问(序列类型) | 字符串,列表,元组 |
| key值访问(映射类型) | 字典 |
enumerate:枚举,对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。
li = ['alex','银角','女神','egon','太白'] for i in enumerate(li): print(i) for index,name in enumerate(li,1): print(index,name) for index, name in enumerate(li, 100): # 起始位置默认是0,可更改 print(index, name) 结果: (0, 'alex') (1, '银角') (2, '女神') (3, 'egon') (4, '太白') 1 alex 2 银角 3 女神 4 egon 5 太白 100 alex 101 银角 102 女神 103 egon 104 太白
浙公网安备 33010602011771号