我有两个dictionaries
:
dict1 = {'key1': [val, val, val], 'key2': [val, val, val]}
dict2 = {'key1': [val, val, val], 'key2': [val, val, val]}
我需要在dict1
和dict2
中找到具有相同值的键,并用这些键创建一个新的dict
(dicr3 = {'key1': key1}
)。有没有更好的方法来代替双for
循环
for key, val in first_dict.items():
for key2, val2 in sec_dict.items():
if val == val2:
print(str(key) + " : " + str(key2))
这个呢:
是的,您可以改用zip函数
现在还不清楚您要实现什么合并操作,因此我将让您处理自己的情况,但set是执行合并操作的一个好方法
可以将值转换为元组。这样,它们就可以散列,您可以将它们放入dict中:
现在您只需迭代dict的值并查找多个键:
与
O(n**2)
代码相比,这个解决方案是O(n)
相关问题 更多 >
编程相关推荐