如何检查一个字典(dict1)中的键(key)在另一个字典(dict2)中出现了多少次。如果字典(dict1)中的键(key)存在于字典(dict2)中,那么一个名为"val"的变量应该被减去初始值为4,减去的值应该根据键(key)在字典(dict2)中出现的次数而定。
例如,字典(dict1)如下所示:
由于两个dict之间存在两个重复的key,因此
如果
另外,
例如,字典(dict1)如下所示:
print dict1
{(2, 0): 3, (3, 1): 0, (1, 1): 2, (2, 2): 1}
并且 dict2
看起来像这样
print `dict2`
{(2, 0): 323, (3, 1): 32, (10, 10): 21, (20, 2): 100}
由于两个dict之间存在两个重复的key,因此
val
应该等于2
。如果
dict2
与dict1
完全相同,则val
应为0
。另外,
dict1
的大小始终相同,但dict2
可能非常大,因此最好使用快速查找方法。最后,这里dicts的值没有任何意义。
len([k for k in dict1 if k in dict2])
- Nir Alfasisum(1 for k in dict1 if k in dict2)
更有效率。然而,对于这个任务,集合交集更快。 - PM 2Ring