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 太白
枚举例子
posted on 2018-10-16 19:57  smile大豆芽  阅读(133)  评论(0)    收藏  举报