小知识点补充
list.append(object) 向列表中添加一个对象object
list.extend(sequence) 把一个序列seq的内容添加到列表中。
list1 = [] list2 = [] list1.append([1,2,3,4]) list2.extend([1,2,3,4]) print(list1) print(list2) # [[1, 2, 3, 4]] # [1, 2, 3, 4]
hash函数
可hash的值必须是不可变的。字典、列表和集合可以变动,不可hash。元组,数值,字符串可以hash。
不可hash的。比如列表:同值不同址,同址不同值。
可hash的。比如字符串:同值同址。
>>> a = [1,2,3] >>> b = [1,2,3] >>> id(a) 46543560 >>> id(b) 46610056
split()方法
split()用于切割字符串,并返回一个列表。
split(',',2)表示的是根据,为断点进行切割两次。
a = "1/2/3/4/56" m = a.split('/') print(m) a = "avb,trr,dddf,gggdf,dddd" print(a.split(',',2)) u1,u2,u3 = a.split(',',2) #二次切割 print(u1) print(u2) print(u3) # ['1', '2', '3', '4', '56'] # ['avb', 'trr', 'dddf,gggdf,dddd'] # avb # trr # dddf,gggdf,dddd['1', '2', '3', '4', '56'] # ['avb', 'trr', 'dddf,gggdf,dddd'] # avb # trr # dddf,gggdf,dddd
split后面跟的数字表示被切割的次数,三就是三次,剩下的所有成为一个独立字符串。
a = "avb,trr,dddf,gggdf,dddd,666,rrrr,yyyy" print(a.split(',',2)) u1,u2,u3,u4 = a.split(',',3) print(u1) print(u2) print(u3) print(u4) # avb # trr # dddf # gggdf,dddd,666,rrrr,yyyy
rfind和find方法
find是从左到右找到第一个字符的索引,find从右到左找到第一个索引。空格也算一个索引位置,切记。
tr.rfind(substr,0,10)表示从o索引位置开始搜寻,在索引为10的位置停止搜寻。
tr = "this is my favourite girl she is so beautiful" st = "my" print(tr.rfind(st,0,10)) print(tr.rfind(st,10,0)) print(tr.find(st,0,10)) str = "this is really a string example....wow!!!" substr = "is" print(str.rfind(substr)) print(str.rfind(substr, 0, 10)) print(str.rfind(substr, 10, 0)) print(str.find(substr)) print(str.find(substr, 0, 10)) print(str.find(substr, 10, 0)) # 8 # -1 # 8 # 5 # 5 # -1 # 2 # 2 # -1
“install”.capitalize() 将字符串第一个字母变大写
越是困难的事越要立即去做,这样收益才会最大!!!