python之dict學習筆記之二

2021-06-22 18:12:13 字數 1843 閱讀 9964

一、遍歷

字典的遍歷方法很多

1.直接利用dict

>>> d

>>> for i in d:

print i,d[i]

a aa

c cc

b bb

2.利用

items()

>>> for i,v in d.items():

print i,v

a aa

c cc

b bb

當然也可以這樣
>>> for (i,v) in d.items():

print i,v

a aa

c cc

b bb

我印象中有個文章就是比較這2個方法(有括號和沒括號)的效率,說字典大小在200以下時候,有括號速度快一點,200以上時候,無括號速度快一點,具體我也沒測試。

3.iteritems() (我覺得比較好的方法)

>>> for k,v in d.iteritems():

print k,v

a aa

c cc

b bb

其他還有些遍歷方法,但是我感覺就這3個就足夠了

二、一些高階用法

1.一鍵多值

一般情況,字典都是一對一對映的,但如果我們需要一對多的對映,比如一本書,我們要統計一些單詞出現的頁數。那麼,可以用list作為dict的value值。在利用setdefault()方法就可以完成

>>> d=

>>> d

>>> d

>>> d

>>>

當然,如果寫成乙個函式話,就可以更方便的使用,

我們也可以利用set來代替list

>>> def addfunc(d,word,pag):

d.setdefault(word,set()).add(pag)

>>> d=

>>> addfunc(d,'hello',8)

>>> d

>>> addfunc(d,'bad',8)

>>> d

2.利用字典完成簡單工廠模式

字典的value不單單只是一些常見的字串,數值,還可以是類和方法,比如我們就可以這樣來實現簡單工廠模式

>>> class cat(object):

def __init__(self):

print 'cat init'

>>> class dog(object):

def __init__(self):

print 'dag init'

>>> d=

>>> def factoryfunc(d,name):

if name in d:

return d[name]()

else:

raise exception("error")

>>> cat=factoryfunc(d,'cat')

cat init

另外乙個例子,利用變數來控制執行的函式

>>> def deal_cat():

print 'cat run!!'

>>> def deal_dog():

print 'dag run!!'

>>> d=

>>> animal='cat'

>>> d[animal]()

cat run!!

python學習筆記 dict

1.往dict中動態加入元素 dict dict item i 2.dict內建函式與方法 序號函式及描述 1cmp dict1,dict2 比較兩個字典元素。2len dict 計算字典元素個數,即鍵的總數。3str dict 輸出字典可列印的字串表示。4type variable 返回輸入的變數...

python學習之dict簡介

3.字典 dict 特點 無序性 沒有索引 可變的資料型別 值可變 鍵不可變 字典的結構 鍵值對組合 key value對 鍵 key 唯一性 不可重複 不可變的資料型別 list等不能作為鍵 值 value 注意事項 演示dict的特點以及使用場景 dic1 print dic1,type dic...

Python學習筆記之字典dict的用法

python中的字典,和 json 串類似。鍵值對的鍵值用冒號分開,鍵值對之間使用逗號分隔,整個字典用大括號括起來。沒有任何元素的用兩個花括號表示。鍵在字典中是惟一的。字典的值可以是任意型別,但是 鍵 必須是不可變的型別,例如 字串 數字 或者 元組。訪問字典的值 要訪問字典元素,可以使用 以及鍵 ...