Sam*_*erg 6 python dictionary set set-difference
我需要比较2个字典,以便在一个字典中找到不在另一个字典中的密钥集.
我知道Python 设置对象支持:
set3=set1-set2
Run Code Online (Sandbox Code Playgroud)
但我做不到:
dict3=dict1-dict2
Run Code Online (Sandbox Code Playgroud)
要么:
missingKeys=dict1.keys()-dict2.keys()
Run Code Online (Sandbox Code Playgroud)
(我对最后一点感到有些惊讶,因为在Java中,键是一个Set对象.)一种解决方案是:
missingKeys=set(dict1.keys())-set(dict2.keys())
Run Code Online (Sandbox Code Playgroud)
有没有更好或更简洁的方法来做到这一点?
DSM*_*DSM 15
Python 2.7:
>>> d = {1:2, 2:3, 3:4}
>>> d2 = {2:20, 3:30}
>>> set(d)-set(d2)
set([1])
Run Code Online (Sandbox Code Playgroud)
Python 3.2:
>>> d = {1:2, 2:3, 3:4}
>>> d2 = {2:20, 3:30}
>>> d.keys()-d2.keys()
{1}
Run Code Online (Sandbox Code Playgroud)
或许
[x for x in dict1.keys() if x not in dict2.keys()]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5145 次 |
| 最近记录: |