1. str. join() 把列表变成字符串
lis = ['123', '456', '789'] s = '_'.join(lis) print(s) #'123_456_789'
2. 列表不能再循环的时候删除. 因为索引会跟着改变
3. 字典也不能直接循环删除.
把要删除的内容记录在列表中. 循环列表. 删除原列表, 字典中的数据
lis = ['周杰伦', '周杰', '周星驰', 'arios', '林俊杰'] # 删除所有姓周的人名 l1 = [] for name in lis: if name.startswith('周'): li.append(name) for del_name in l1: lis.remove(del_name) print(lis) #['arios', '林俊杰'] #方法2 for name in tuple(lis): #把lis转换成元组tuple遍历,遍历的是元组. if name.startswith('周'): lis.remove(name) print(lis)
4. fromkeys() 不会对原来的字典产生影响. 产生新字典
dis = dict.fromkeys(['arios', 'fcy'], 'sm') # 遍历','前面的值为key'(可hash),'后面的是vulue,生成新字典dis print(dis) # {'arios': 'sm', 'fcy': 'sm'} ---------------------------------------------------------------------------------- dis = {'sm': 'fcy'} dis1 = dis.fromkeys(['arios', 'fcy'], 'sm') print(dis) print(dis1) # {'sm': 'fcy'} # {'arios': 'sm', 'fcy': 'sm'} # fromkeys()不会对原来字典产生影响,生成新字典
5. set集合. 不重复, 无序.
增加: set.add() set.updata() # 迭代添加
删除: set.pop() # 随机删除 set.remove() # 删除指定元素,会报错
改: 删除后添加
查:
for el in set:
print(el) # 和字典相似 el相当于字典的key
6. 想转换成什么.就用什么括起来
元组 => 列表 list(tuple)
列表 => 元组 tuple(list)
list=>str str.join(list) # 用join把列表的元素拼接成字符串
str=>list str.split() # split切割
7. 深浅拷贝
1. 直接赋值. 两个变量指向同一个对象.
2. 浅拷贝:只拷贝第一层内容. copy()
3. 深度拷贝: 对象中的所有内容都会被拷贝一份
import copy
copy.deepcopy()