python字典len d Python字典詳解

2021-10-11 22:11:38 字數 2328 閱讀 1652

python字典(dict)是乙個很常用的復合型別,其它常用符合型別有:陣列(array)、元組(touple)和集合(set)。字典是乙個key/value的集合,key可以是任意可被雜湊(內部key被hash後作為索引)的型別。因此,key可以是文字、數字等任意型別。如果兩個數字'=='判斷相等,那麼key就相等,value會產生覆蓋(例如:1 == 1.0 # => true)。注意,浮點數比較很不精確,因此千萬不要用浮點數作為key!

字典是python的內建型別,有字面量的表示方法——逗號分割的'key: value'元組:

當然,還可以用dict函式來生成返回字典(摘自官方文件的乙個例子):

>>> a = dict(one=1, two=2, three=3)

>>> b =

>>> c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))

>>> d = dict([('two', 2), ('one', 1), ('three', 3)])

>>> e = dict()

>>> a == b == c == d == e

true

dict函式可接收的引數形式相當豐富。第一行用關鍵字引數來生成字典,很容易理解。第三行與第四行其實是相同的方式,zip函式將兩個陣列引數兩兩合併成為乙個二元組陣列,所以,還可以傳入二元組陣列作為引數。直接傳入乙個字面量的字典表示法也可以。當然,這幾種形式後面還可以繼續加關鍵字引數:

>>> d = dict([('two', 2), ('one', 1), ('three', 3)], four=4, five=5)

>>> e = dict(, four=4, five=5)

後面的關鍵字引數key如果在前面出現過,那麼將會覆蓋前面的值。

字典的常見操作

'd'表示乙個字典例項,'dict'表示字典類

len(d) 返回字典中有多少項

d[key] 返回索引為'key'的值,不存在丟擲keyerror

d[key] = value 設定'key'項的值為'value'

del d[key] 刪除索引為'key'的項,不存在丟擲keyerror

key in d 返回'key'是否在字典內

key not in d

高階操作

d.clear() 清除所有項

d.copy() 返回乙個轉殖的字典

iter(d) 返回乙個iterable物件,迭代字典的key。相當於d.iterkeys()

>>> d = dict(one=1, two=2, three=3)

>>> it = iter(d)

>>> it.next() # => "three" # 字典插入是無順序的

>>> it.next() # => "two"

>>> it.next() # => "one"

>>> it.next() # => stopiteration

dict.fromkeys(seq[,value]) 通過乙個序列物件(列表、字典、集合的keys等)建立字典,value為每個項的預設值

d.get(key,[default]) 獲取key對應的值,不存在則返回default值。與d[key]的區別是前者不丟擲keyerror,而是返回default值

d.keys() 將所有keys作為乙個列表返回,相當與list(d)

d.values()

d.items() 返回乙個(key, value)的元組列表

d.iterkeys() 返回乙個可key的迭代物件

d.itervalues

d.iteritems

d.pop(key[,default]) 刪除指定的項並返回值,如果不存在則返回default。若default未設定則在key不存在的情況下丟擲keyerror

d.popitem() 刪除隨機的乙個項,並返回(key, value)

d.setdefault(key[,default]) 與d.pop很相似,不過,在沒有指定key的情況下該函式會插入這個項並返回

d.update([other]) 與用dict建立字典所接受的引數型別相同,建立或者更新項

d.viewkeys() 返回view物件,字典改變,view物件也會改變

d.viewvalues()

d.viewitems()

view物件

v不能進行更新和索引,需先轉換為其他序列型別。

len(v)

iter(v)

x in v

v & other 交集,other可以是任何序列物件

v | other 並集

v - other 補集

v ^ other 非交集

python字典換行輸出 Python字典如何換行

python字典如何換行 python字典換行的方法如下 1 換行時保證行尾是逗號即可a key2 val2 key3 val3 key4 val4 key5 val5 注意這種情況下,每一行第乙個非空白字元都要和第一行的括號後的字元對齊,並且最後的括號是不換行 直接跟在最後乙個元素後面 的。3 另...

python實現字典排序 python 字典排序

引子 字典,形如 dic 字典中的元素沒有順序,所以dic 0 是有語法錯誤的。並且不可以有重複的鍵值,所以 dic.add c 4後,字典變成 待解決問題 如何根據需要可以根據 鍵 或 鍵值 進行不同順序的排序?函式原型 sorted dic,value,reverse dic為比較函式,valu...

python操作字典 Python 字典操作高階

學習了 python 基本的字典操作後,學習這些高階操作,讓寫出的 更加優雅簡潔和 pythonic 與字典值有關的計算 問題想對字典的值進行相關計算,例如找出字典裡對應值最大 最小 的項。解決方案一 假設要從字典 中找出值最小的項,可以這樣做 d min zip d.values d.keys 2...