字典(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必須是不可變型別,如 數字 字串 元...