- 字典
- 字典的增删改查
- 字典的其他方法
- 字典的嵌套
- 集合
字典
dic={'键':'值',}
键:不可变数据类型,可哈希
值:任意
字典的增删改查
# dic={ # 1:'你好', # True:'Hello', # 'dict':'get', # 1:'HI' # } # 增 # print(dic)#结果{1: 'HI', 'dict': 'get'} 在字典中True就是1,后边的1会覆盖前面的 # dic[2]='大家好'#通过指定键值添加 # print(dic)#结果{1: 'HI', 'dict': 'get', 2: '大家好'} # print(dic.setdefault('dict'))#setdefault方法,写存在的键得到的是值 # print(dic.setdefault(' '))#写不存在的键,返回值为None # print(dic.setdefault('get','post'))#写不存在的键和值,返回的是值 # print(dic)#可以通过sedefault('键','值')来添加 # dic={ # 1:'你好', # True:'Hello', # 'dict':'get', # 1:'HI' # } # 删 # del dic#删除整个dic # print(dic)#结果{1: 'HI', 'dict': 'get'} # del dic[1]#按照键去删除 # print(dic) # dic.clear()#清空列表 # print(dic) # dic.pop(1)#pop(键),删除 # print(dic) # dic.popitem()#默认删除最后一个,又是随机删除 # print(dic) # 改 # dic={'33':'jj','44':'TT'} # dic1={'55':'PP','66':'gg'} # dic2={'33':'JJ','44':'tt',} # dic.update(dic1)#dic中没有dic1中的数据,直接添加 # print(dic) # dic.update(dic2)#dic中存在dic2的数据,直接覆盖 # print(dic) # dic['33']='你好'#直接通过键去改 # print(dic) # 查 dic={'33':'jj','44':'TT'} # print(dic['33'])#直接通过键去查 # print(dic.get('33'))#get(存在的键 )去查 # print(dic.get('3'))#get(不存在的键)去查返回None # print(dic.get('2','提示的内容'))#查不存在的键,返回的是提示的内容
字典的其他操作
# dic={'33':'jj','44':'TT'} # for i in dic: #遍历字典的键 # print(i) # print(dic.keys())#结果 dict_keys(['33', '44']),高仿列表 # for i in dic.keys():#遍历字典的键 # print(i) # print(dic.values())#dict_values(['jj', 'TT']) 高仿列表 # for i in dic.values():#遍历列表的值 # print(i) # for i in dic.items():#结果('33', 'jj') # # ('44', 'TT') # print(i) # # 利用解构 # for k,v in dic.items():#结果#33 jj # # 44 TT # print(k,v) # 解构 # a,b,c=1,2,3 # print(a,b,c)#结果 1 2 3 # a,b,c='你好啊' # print(a,b,c)#结果 你 好 啊 # a,b,c='hsh' # print(a,b,c)#h s h # a,b,c=['u','v',[1,2,3]]#结果u v [1, 2, 3] # print(a,b,c) # a,b,c={1:'q',2:'w',3:'e'}#结果:1 2 3返回的是对应键 # print(a,b,c) # a,b,c={1,2,3}#set()结果 1 2 3 # print(a,b,c) # a,b,c=(7,8,9)#元组 结果7 8 9 # print(a,b,c) # 总结: # 后边跟的是可迭代的数据类型,int,bool不行
集合
#集合----天然去重,和列表有点像,但是无序,不可用下标,用的{} # se={1,3,4,1,5,6} # print(se)#{1, 3, 4, 5, 6}
集合的增删改查
# se={1,3,2,2,'l','你好'} # print(se)#{1, 2, 3, 'l', '你好'} # 增 # se={1,3,2,2,'l','你好'} # se.add('hello')#增加 # print(se)#{'你好', 1, 2, 3, 'hello', 'l'} # 删 se={1,3,2,2,'l','你好'} # se.clear() # print(se)#清空列表 打印结果:set() # se.pop()#随机删除 # print(se) # se.remove('你好')#按照内容删除,remove # print(se) # 改 # se={1,3,2,2,'l','你好'} # # se.update('abc')#{1, 2, 3, '你好', 'a', 'l', 'b'} # # print(se) # # 查 # for 循环
集合的其他操作
se={1,3,2,2,'l','你好'} se1={'你好',1,2} #交集 # print(se&se1)#{1, 2, '你好'} # #并集 # print(se|se1)#{1, 2, 3, 'l', '你好'} # 差集 # print(se-se1)#{'l', 3} # 子集 # print(se1<se)#返回True #超超集 # print(se>se1)#True
冻结集合
# se={1,2,3,1,2,3,4} # s1=frozenset(se) # print(se) # print(s1)#frozenset({1, 2, 3, 4}) 集合是可变数据类型,不可哈希 冻结集合是不可变数据类型,可哈希