怎樣在兩個字典中尋尋找相同點(比如相同的鍵、相同的值等等)?
直接對keys()
或者items()
使用集合操作,比如-
(差)、|
(並)、&
(交)
考慮下面兩個字典:
a =
b =
要找到相同的key,可以對keys
做&
操作
>>> print(a.keys() & b.keys())
也可以使用這一特性來對字典過濾,例如去掉集合a中key為x和y兩個元素
>>> print(})
但values()
不支援這樣的集合操作,因為values()
返回的結果中,可能會有重複元素,也就不能當作乙個集合來看了
dict.keys()
、dict.values()
和dict.items()
返回的是檢視物件,也就是說當字典改變後,檢視物件也會改變
>>> d =
>>> v = d.keys()
>>> print(v)
dict_keys(['a', 'b'])
>>> d['c'] = 3
>>> print(v)
dict_keys(['a', 'b', 'c'])
>>> d['d'] = 4
>>> print(v)
dict_keys(['a', 'b', 'c', 'd'])
並且dict.keys()
是set-like的,因為key的值是唯一的並且是可hash的,除此之外,當value的值也是可hash的時候,dict.items()
也是set-like的
set-like物件可以像set
物件一樣執行集合間的操作
python cookbook
python每日一練
人生苦短,我用python 2018.6.5 有個目錄,裡面是你自己寫過的程式,統計一下你寫過多少行 包括空行和注釋,但是要分別列出來 coding utf 8 import re import glob defcodecolletion path filelist glob.glob path p...
Python每日一練
人生苦短,我用python 2018.6.13 最近事情有點多,有幾天沒寫了,正好最近需要統計一下各組排名,也就拿python代替手工了 各組給出其他組的排名,統計每個組最終的得分,第一名為0.5,第二名0.4,以此類推。coding utf 8 groups 3,2,5,4,6 1,3,5,6,4...
Python每日一練0002
如何序列化輸出元素包含字串元組的字串元組 好繞 舉個例子 zoo1 monkey elephant zoo2 python zoo1 將zoo2輸出為python,monkey,elephant容易想到使用join 函式,但join 函式要求元素必須都是字串型別,否則會丟擲typeerror錯誤 z...