'''字典''' dict = { '01':'Apple', '02':'Samsung', '03':'Huawei', } #字典的创建 #print(type(dict)) #print(dict) #字典打印是无序的 #print(dict['02']) #dict['02'] = '三星' #改 #print(dict['02']) #dict['04'] = 'Xiaomi' #增 #print(dict) #del dict() #删除 #print(dict) #dict.pop('03') #删除 #print(dict) #dict.popitem() #随机最后一个 #print(dict) print(dict.get('04')) #安全获取,有的话返回值,没有的话返回none print('04' in dict) #判断是否在字典中 dict.setdefault('04','Xiaomi') dict.setdefault('03','Xiaomi') #如果没有就key就创建key和相应的value。如果key存在就不变 print(dict) dict2 = { '04':'Oppo', 1:2, 3:4 } dict.update(dict2) #print(dict) #用dict2更新dict1,如果dict1和dict2都有则dict2覆盖dic1,如果dict1没有dict2有就新建到dict1 #print(dict.items()) #把一个字典转成列表 #tmp = dict.fromkeys([5,6,7],['Vivo',{'vivo':'vjvj'}]) #初始化一个列表,这个方法和之前创建的字典'dict'没关系,恰好重名 #print(tmp) #tmp [5][1]['vivo'] = 'Vivi' #print(tmp) #如果字典嵌套列表用fromkeys方法也会和浅拷贝一样 '''fromkeys方法的一些实验现象''' key01 = [1,2,3,4,5] dict3 = dict.fromkeys(key01,['test']) print(dict3) dict3[1].append('TEST') print(dict3) #如果用append对列表进行追加,发现字典所有value都进行了更新。 print(dict3[1] is dict3[2]) #发现两个字典值指向同一块内存 '''解决方案''' dict4 = {key02:['test'] for key02 in key01} print(dict4) dict4[1].append('TEST') print(dict4) #只有对应key值的value发生了改变 print(dict4[1] is dict4[2]) #不同key值不再指向同一块内存 print(dict) for i in dict: print(i) #打印key值 for i in dict: print(i,dict[i]) #打印整个字典 for k,v in dict.items(): #用items方法把字典变成列表,效率低 print(k,v) '''集合''' list_set1 = [1,1,1,4,4,4,3,2,5,7,'a','a','b','e','c'] list_set1 = set(list_set1) print(list_set1,type(list_set1)) #集合天生去重并且无序 list_set2 = set([1,2,3,'b','f']) print(list_set1.intersection(list_set2)) #求交集 print(list_set1.union(list_set2)) #求并集 print(list_set1.difference(list_set2)) #求差集,in list1 & not in list2 print(list_set2.issubset(list_set1)) #list2是否是list1的子集 print(set([1]).issubset(list_set1)) print(list_set1.issuperset(set([1]))) #list1是不是[1]的父集 print(list_set1.symmetric_difference(list_set2)) #对称差集,去掉list1和list2都有的去掉 dict_test = { 1:'a', 2:'b', 3:'c' } print(set(dict_test)) #字典也可以设置为集合,只针对key有效
'''利用zip方法把两个列表映射成字典''' keys = [1,2,3,4,5] values = ['a','b','c','d','e'] dict_01 = dict(zip(keys,values)) print(dict_01)