1、clear
clear方法清除字典中所有的項。這是個原地操作,所以無返回值(或者說返回none)
>>> d = {}>>> d['name']='sh'
>>> d['other']='haha'
>>> d
>>> return_value = d.clear()
>>> d
{}>>> print(return_value)
none
2、copy
cpoy方法返回乙個具有相同鍵值對的新字典(這個方法實現的是淺複製,因為值本身就是相同的,而不是副本)。
>>> x=>>> y = x.copy()
>>> y
>>> y['username']='other'
>>> y
>>> x
>>> y['machines'].remove('bar')
>>> y
>>> x
可以看到,當在副本中替換值的時候,原始字典不受影響,但是,如果修改了某個值(原地修改,而不是替換),原始的字典也會改變,因為同樣的值也儲存在原字典中(就像上面例子中的machines列表一樣)
避免這個問題的一種方法就是乙個使用深複製,複製其包含的所有值。可以使用copy模組的deepcopy函式來完成操作。
>>> from copy import deepcopy>>> d = {}
>>> d['names'] = ['alfred','bertrand']
>>> c = d.copy()
>>> dc = deepcopy(d)
>>> c
>>> dc
>>> c
>>> d
>>> dc
3、formkeys
fromkeys方法使用給定的鍵建立新的字典,每個鍵都對應乙個預設的值none.
>>> {}.fromkeys(['name','age'])
剛才的例子中首先構造了乙個空字典,然後呼叫它的fromkeys方法,建立另外乙個詞典有些多餘,此外,您還可以直接在dict上面呼叫該方法,前面講過,dict是所有字典的型別。
>>> dict.fromkeys(['name','age'])
如果不想使用none作為預設值,也可以自己提供預設值。
>>> dict.fromkeys(['name','age'],'(unknown)')
4、get
get方法是個更寬鬆的訪問字典項的方法。一般來說,如果試圖訪問字典中不存在的項時會出錯。
>>> d = {}>>> print(d['name'])
traceback (most recent call last):
file "", line 1, in keyerror: 'name'
而用get就不會:
>>> print(d.get('name'))none
5、items
items方法將字典所有的項以列表方式返回,列表中的每一項都表示為(鍵,值)對的形式。但是項在返回時並沒有遵循特定的次序。
>>> d=
>>> d.items()
dict_items([('title', 'python'), ('version', '3.6'), ('spam', 0)])
python字典之fromkeys 方法
fromkeys 方法的一般形式 dict.fromkeys s v 其中s為鍵值,v若不提供則預設為none,我們通過具體的例項了解fromkeys方法 dict1 dict1.fromkeys 1,2,3 以元組的形式為第乙個引數賦值,第二個引數省略 dict1.fromkeys 1,2,3 n...
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字典的方法 Python 字典常用方法
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...