ab =
>>> d
>>> d.clear()
>>> d
有人可能會問為什麼不直接d={}?
看下面的例子:
>>> d =
>>> x = d
>>> d = {}
>>> x
再看下面:
>>> d =
>>> x = d
>>> d.clear()
>>> x
所以如果要真正清除乙個字典要用clear
------------------------複製------------------------
>>> d =
>>> y = d.copy()
>>> y['age'] = 32
>>> d
>>> y
複製後 y 的修改與 d 無關
但如果乙個字典中有引用型別,如list,複製只會複製其引用而不會複製其值:
>>> d =
>>> y = d.copy()
>>> y['names'][0] = 'jack'
>>> y
>>> d
如果要克服這個困難,那就必須用「深複製「:
>>> from copy import deepcopy
>>> d =
>>> y = deepcopy(d)
>>> y['names'][0] = 'jack'
>>> d
>>> y
------------------------get------------------------
先看乙個例子:
>>> d = {}
>>> d['name']
traceback (most recent call last):
file "", line 1, in
keyerror: 'name'
>>> print d.get('name')
none
>>> d.get('name', 'n/a')
'n/a'
如果用索引直接訪問乙個不存在的值,python會報錯,但是如果用get方法會返回乙個預設值,通過傳入第二個引數來自定義乙個預設值
------------------------鍵是否存在?------------------------
有兩種方法來查詢:
>>> d =
>>> 'age' in d
true
>>> d.has_key('age')
true
可以用in關鍵字也可以通過has_key方法
------------------------鍵和值------------------------
將鍵、值、鍵值轉換成list
>>> d =
>>> d.keys()
['age', 'name']
>>> d.values()
[12, 'bob']
>>> d.items()
[('age', 12), ('name', 'bob')]
------------------------設預設值------------------------
當你要確保乙個字典中確保有某個鍵時,可以用setdefault:
>>> d = {}
>>> d.setdefault('name', 'n/a')
'n/a'
>>> d
>>> d['name'] = 'bob'
>>> d.setdefault('name', 'n/a')
'bob'
>>> d
setdefault和get十分類似,都返回查詢的值,但是setdefault將預設值加入字典中。
字典交集:
字典鍵的合併:
some_dict =
another_dict =
intersect =
for item in some_dict.keys( ):
if another_dict.has_key(item):
def union_keys(some_dict, another_dict):
temp_dict = some_dict.copy( )
temp_dict.update(another_dict)
return temp_dict.keys( )
#1print "intersects:", intersect
# 2 faster
print "intersects:", [k for k in some_dict if k in another_dict]
分享到:
2010-01-12 12:04
瀏覽 3705
python 字典方法
1.clear 清除字典中所有的項。原地操作,無返回值 或說返回值為none d d name gumby d age 42 d returned value d.clear d print returned value none 此方法會清除原始字典內容 2.copy 使用給定的key建立新字典,...
python 字典的常用方法
get 方法 get 方法其實就是根據 key 來獲取 value,它相當於方括號語法的增強版,當使用方括號語法訪問並不存在的 key 時,字典會引發 keyerror 錯誤 但如果使用 get 方法訪問不存在的 key,update 方法 update 方法可使用乙個字典所包含的 key valu...
Python 字典的pop 方法
pop 移除序列中的乙個元素 預設最後乙個元素 並且返回該元素的值。一 移除list的元素,若元素序號超出list,報錯 pop index out of range 超出範圍的流行指數 a 預設移除最後乙個元素 list 1 1,2,3,4,5 a list 1.pop print list 1,...