1. 程式人生 > >基礎資料型別(三)

基礎資料型別(三)

  • 字典
  • 字典的增刪改查
  • 字典的其他方法
  • 字典的巢狀
  • 集合

字典

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})

集合是可變資料型別,不可雜湊
凍結集合是不可變資料型別,可雜湊