字典
字典是另一種可變容器模型,且可儲存任意型別物件。
除了列表以外,字典是也許是python中最靈活的內建資料結構,如果把列表看成有序的集合,那麼字典可以當成無序的集合。
他們的主要差別在於:字典當中的元素是通過鍵來訪問的,而不是通過偏移量
作為內建型別,字典可以取代許多搜尋演算法和資料結構,python字典的主要的屬性如下:
通過鍵而不是偏移量讀取
字典有時又叫做關聯陣列或雜湊表。它們通過鍵將一系列值連線起來,這樣可以使用鍵從字典總取出值。
任意物件的無序集合
儲存在字典中的資料沒有特定的順序。鍵提供了字典中象徵性(而非物理性)的位置
可變長,異構,任意巢狀
與列表類似,可在原處增長或縮短,它們可以包含任意型別的物件,而且支援任意深度的巢狀
可變對映型別
通過給鍵賦值,字典可以在原處修改,但是不支援字串或列表的序列操作,因為字典是無序集合
物件引用表(雜湊表)
如果說列表是支援位置讀取物件引用資料,那麼字典是支援鍵讀取的無序物件引用表
字典的每個鍵值(key-->value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中
d =
鍵必須是唯一的,但值則不必。
或者通過dict()的方式建立字典
值可以取任何資料型別,但鍵必須是不可變的,如字串,數字或元組。
訪問值:
通過鍵訪問print(dic['list'])返回:['list1','list2']
print(dic[12])返回:'字串12'
修改或新增:
操作已有的鍵是修改,操作沒有的鍵是新增
dic['list']='只有乙個'#修改
dic['age']=17#新增乙個監鍵值對
刪除字典/元素或清空:
del dic['list']清除鍵為「list」的元素
del dic刪除字典
dic.clear()清空字典
特性:鍵是唯一的,如果有兩個相同的鍵,後面的會覆蓋前面的
鍵不可變,可以用數字,字串或元組充當
內建函式和方法:
len(dict)返回元素個數,鍵的總數
str(dict)輸出字典,以可列印的字串表示
type(variable)返回元素或變數的資料型別
key in dict如果鍵在字典裡,返回true
clear()清空字段所有元素
copy()返回乙個字典的複製
keys()以列表返回乙個字典所有的鍵
values()以列表返回字典中的所有值
get(key,default==none)返回指定鍵的值,如果值不存在字典中,返回default值
setdefault(key,default=none)和get()類似, 但如果鍵不存在於字典中,將會新增鍵並將值設為default
update(dict)把字典dict2的鍵/值對更新到dict中
items()以列表返回可遍歷的(鍵,值)元組陣列
其他字典方法
字典方法提供了多種工具字典values和items方法分別返回字典值的列表和(key,value),可以把它們放在list中呼叫
>>> dic=>>>list(dic.values())
['南希', 17]>>>list(dic.items())
[('name', '南希'), ('age', 17)]
然而如果當讀取讀取的鍵不存在是,將會返回乙個預設的none值
>>> print(dic.get("gender"))
none
dict的update方法類似合併,它和從左到右的順序無關,它把引數字典的值合併到呼叫者字典中,然而盲目的update可能會導致覆蓋相同的鍵值
dic2=>>>dic.update(dic2)>>>dic
字典使用注意:
序列運算無效:即不可使用dic[0]來使用,她會丟擲乙個keyerror的異常
對新索引賦值會新增項:新增字典中未出現的鍵值會新建這個鍵值
鍵不一定總是字串:可以是數字,字串,元組等
關於列表和字典的用法技巧將在對應文章講解
更多的用法及描述還是需要檢視python的官方文件。
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必須是不可變型別,如 數字 字串 元...