一、遍歷
字典的遍歷方法很多
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 串類似。鍵值對的鍵值用冒號分開,鍵值對之間使用逗號分隔,整個字典用大括號括起來。沒有任何元素的用兩個花括號表示。鍵在字典中是惟一的。字典的值可以是任意型別,但是 鍵 必須是不可變的型別,例如 字串 數字 或者 元組。訪問字典的值 要訪問字典元素,可以使用 以及鍵 ...