python3字典為什麼有須的 python3字典

2021-10-11 17:28:12 字數 2095 閱讀 2338

字典

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

除了列表以外,字典是也許是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必須是不可變型別,如 數字 字串 元...