小知识点补充

时间:2021-06-17 02:18:29

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()   将字符串第一个字母变大写