比较字典中的所有元素
有没有更好的方法来做到这一点?(避免每次都去比较key1和key2)
for key1 in my_dict:
for key2 in my_dict:
if key1 != key2:
#operation on my_dict[key1] and my_dict[key2]
2 个回答
1
如果key1和key2是同一个字典里的键,那么它们总是不同的。另一方面,如果你想对*my_dict*这个字典的键进行某种操作,可以试试下面的代码:
map(lambda x: operation(x[0], x[1]), itertools.product(my_dict.keys(),my_dict.keys()))
4
你可以使用 itertools.combinations
来获取所有的键对:
import itertools
for k1, k2 in itertools.combinations(my_dict, 2):
这假设顺序不重要;如果顺序重要的话,可以使用 itertools.permutations
:
for k1, k2 in itertools.permutations(my_dict, 2):