我知道这可以用列表完成,但我只是想找出如何使用字典来实现。
基本上,步骤如下:
dict1 = {'a': 10, 'b': 12, 'c': 9}
dict2 = {'a': 10, 'b': 3, 'c': 9}
def intersect(dict1, dict2):
combinDict = dict()
....
print(combinDict)
{'a': 10, 'c':9}
我只想将值相同的键添加到一个新字典中。
有帮助吗?
我知道这可以用列表完成,但我只是想找出如何使用字典来实现。
基本上,步骤如下:
dict1 = {'a': 10, 'b': 12, 'c': 9}
dict2 = {'a': 10, 'b': 3, 'c': 9}
def intersect(dict1, dict2):
combinDict = dict()
....
print(combinDict)
{'a': 10, 'c':9}
我只想将值相同的键添加到一个新字典中。
有帮助吗?
dict1 = {'a': 10, 'b': 12, 'c': 9}
dict2 = {'a': 10, 'b': 3, 'c': 9}
print dict(dict1.viewitems() & dict2.items())
{'a': 10, 'c': 9}
对于 Python 3,你只需要使用 items:
dict(dict1.items() & dict2.items())
dict1.items() & dict2.items()
返回一个由两个字典共有的键/值对组成的集合:
In [4]: dict1.viewitems() & dict2.items()
Out[4]: {('a', 10), ('c', 9)}
In [1]: dict1 = {'a': 10, 'b': 12, 'c': 9}
In [2]: dict2 = {'a': 10, 'b': 3, 'c': 9}
In [3]: {key: dict1[key] for key in dict1 if dict1[key] == dict2.get(key)}
Out[3]: {'a': 10, 'c': 9}