如何创建对形式的python字典键

时间:2013-03-24 04:00:41

标签: python algorithm list dictionary

例如我有一个词典词典

my_dictionary= {'a': 20, 'c': 60, 'b': 10}

在这种情况下,我有来自字典的3个键。我想制作对并将它们作为元组存储在列表中。对于上述情况,我会有这个

[(a,b),(a,c),(b,c)]

注意:不要重复。

在没有使用任何外部模块的情况下,最好的方法是什么。

感谢您的贡献。

2 个答案:

答案 0 :(得分:6)

>>> from itertools import combinations
>>> d = {'a': 20, 'c': 60, 'b': 10}
>>> list(combinations(d, r=2))
[('a', 'c'), ('a', 'b'), ('c', 'b')]

答案 1 :(得分:2)

>>> dd = {'a': 20, 'c': 60, 'b': 10}
>>> keys = [i for i in dd]
>>> [(keys[i],keys[j]) for i in range(len(keys)) for j in range(i+1,len(keys))]
[('a', 'c'), ('a', 'b'), ('c', 'b')]
>>> 

通常使用保留字(例如dict)调用变量并不是一个好主意