fromkeys语法/set集合/深浅拷贝/列表/字典的删除
fromkeys语法: dic = {"apple":"苹果", "banana":"香蕉"} 返回新字典. 和原来的没关系 ret = dic.fromkeys('orange',['橘子,栀子']) # 直接用字典去访问fromkeys不会对字典产生影响 a = ["哈哈","呵呵", "吼吼"] ret = dict.fromkeys("abc",a) # fromkeys直接使用类名进行访问 a.append('嘻嘻') print(ret)
set集合 #集合中的元素必须是可哈希的,不重复的,可以用来去重 s = {"周杰伦", "的老婆", "叫昆凌", (1, 2, 3), "周杰伦"} a = set(s) #去重 print(a) {'周杰伦', '叫昆凌', '的老婆', (1, 2, 3)} lst = [11,5,4,1,2,5,4,1,25,2,1,4,5,5] a = set(lst) #把列表转化成集合,进行去重复 lst = list(a) #把集合转化成想要的列表类型 print(lst) [1, 2, 4, 5, 11, 25] 集合本身是可变的数据类型, 不可哈希, 有增删改查操作 s = {"刘嘉玲", '关之琳', "王祖贤"} s.update(['高圆圆','林志玲']) # 迭代更新 print(s) {'关之琳', '高圆圆', '王祖贤', '刘嘉玲', '林志玲'}
深浅拷贝 lst1 = ["金毛狮王", "紫衫龙王", "青翼蝠王", "白眉鹰王",["张无忌","赵敏","周芷若"]] lst2 = lst1[:] #浅 lst2 = lst1.copy() #浅 import copy lst2 = copy.deepcopy(lst1) #深 lst1 = ["金毛狮王", "紫衫龙王", "青翼蝠王", "白眉鹰王",["张无忌","赵敏","周芷若"]] # lst2 = lst1[:] # 浅拷贝 lst2 = lst1.copy() # 浅拷贝 lst1[4].append('小昭') print(lst2) ['金毛狮王', '紫衫龙王', '青翼蝠王', '白眉鹰王', ['张无忌', '赵敏', '周芷若', '小昭']] import copy # lst2 = copy.deepcopy(lst1) lst1[4].append('小昭') print(lst2) ['金毛狮王', '紫衫龙王', '青翼蝠王', '白眉鹰王', ['张无忌', '赵敏', '周芷若']] 1. 赋值操作. 没有创建新对象 2. 浅拷贝. 只拷贝第一层内容. [:] copy() 3. 深拷贝. 把这个对象内部的内容全部拷贝一份. 引入copy模块. deepcopy()