Python3 字典 集合

2021-09-06 23:10:39 字數 2836 閱讀 4596

字典(dict)    鍵值對資料

字典是另一種可變容器模型,且可儲存任意型別物件。

字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,格式如下所示:

dic = 

dic =

鍵: 不可變資料,不能重複,如:整型(數字)、字串、元祖、布林值

值: 隨意

字典的主要作用是儲存資料,字典的查詢快一些;不可雜湊的,就是可變的資料,不可變的資料能雜湊

# python3.6 版本以上:字典預設是有序的, 怎麼寫的順序就怎麼列印出來,理論上字典是無序的

鍵: 不可變資料,不能重複,如:整型(數字)、字串、元祖、布林值

值: 隨意

字典的主要作用是儲存資料,字典的查詢快一些

不可雜湊的,就是可變的資料,不可變的資料能雜湊

# python3.6 版本以上:字典預設是有序的, 怎麼寫的順序就怎麼列印出來,理論上字典是無序的

增:dic[11] = '小公尺'             #下標新增

dic.setdefault(11,'華為')    # 如果有返回值  就不進行新增;如果返回none, 就新增   返回的是新增的值

dict.fromkeys('可迭代物件')  # 坑  不寫值預設是none  寫值得時候如果是可變資料型別就需要小心了

刪:del dic                      #直接刪除字典

del dic[1]                   #通過鍵值刪除

dic.pop()

#不成立,必須跟鍵值

dic.pop("list",'找不到時的提示語句')  通過鍵刪除返回值

# dict.remove  

# 沒有

dic.clear()                   #清除字典

dic.popitem()                #python3預設刪除最後乙個,python2隨機刪除

改:dic.update(dic1)             #有鍵的就更新,沒鍵的就新增,在括號裡級別高於update前面的

dict['鍵'] = '值'               #只有在字典中才是修改 , 沒有在字典中就是增

查:print(dic[2])                # 通過鍵查詢   如果鍵不存在就報錯

print(dic.get(2))            # 通過鍵查詢    如果鍵不存在不會報錯,返回none

print(dic.setdefault('33'))    # 不存在返回none

字典的方法:

for i in dic2:

print(i)               #取到鍵

for i in dic2:

print(dic2.get(i))     #通過鍵取到值

for i in dic2.keys():

print(i)               #直接取到鍵

for i  in dic2.values():

print(i)               #直接取到值

for i in dic2.items():

print(i)               #直接取到鍵值對

for i in dic2:

print(i,dic2[i])        #直接取到鍵、值

print(dic2.keys())       # 高仿列表,所有的鍵 dict_keys(['33', '66'])  不能使用下標

print(dic2.values())     # 高仿列表,所有的值 dict_values(['gg', 'pp'])  不能使用下標

print(dic2.items())      # 所以的鍵值  元祖形式

解構:a,b,c = 1,2,3    # 1,2,3   true,false,true  '456'  [7,8,9]  (7,8,9)

print(a)

print(b)

print(c)

面試題:

a = 10

b = 20

a,b = b,a               # 10000%

print(b)  # 10

print(a)  # 20

for k,v in dic2.items():   # k,v =  ('33','gg')

print(k)

print(v)

字典的巢狀

查詢思想和列表一樣,只要是結尾的就是一體

集合(set)是乙個無序的不重複元素序列。

可以使用大括號  或者 set() 函式建立集合,注意:建立乙個空集合必須用 set() 而不是 ,因為  是用來建立乙個空字典。

建立格式:

se = 

或者set(value)

集合   儲存資料,天然去重,內容要求不可變資料  無序 不能是用下標

增:se.add('內容')

se.update('可迭代物件')

刪:se.remove('內容')

se.pop()   預設刪除第乙個

del se    刪除整個集合

改:集合就是先刪後增

查:for 迴圈

其他操作:

交集   &

並集   |

差集   -

反差集 ^

子集 <

超級 >

凍結集合 :  把可變的集合變成了不可變得集合   不常用

python3字典遍歷 python3字典遍歷

python版本 python3.7 info infog.get name 得到字典info中name的值 info.keys 得到字典info中所有的鍵,結果是乙個物件 dict keys name age 需要注意在python2中該操作得到的是乙個列表 遍歷key for temp in i...

python3字典排序

說實話,對字典進行排序,這個說法本身就有問題,實際上,你無法對操縱字典說,字典,在你的底層實現裡,你就得按照我指定的順序來排列,如果這樣的話,字典就喪失了它的速度優勢,它也不是乙個字典了.好了,廢話不多說,我這裡稍微記錄一下我的做法吧.python2裡面原來是有dict.iteritems這樣乙個函...

python3 字典操作

dictionary 字典 裝下整個世界 字典是python中的唯一的對映型別,採用鍵值對的形式儲存資料 key value python對key進行雜湊函式運算,根據計算結果決定value儲存的位址,所以字典是無序儲存的,且key必須是可雜湊的。可雜湊表示key必須是不可變型別,如 數字 字串 元...