2013-10-05 18 views
0

Я хочу перечислить все 2 комбинации ключей словаря в python. Например, если у меня есть словарь, например:Перечисление 2 сочетаний клавиш словаря в python

di = {'a': [1, 2 ,5], 'b': "haha", 'c': 34, 'd': 24} 

Теперь предположим, что каждый ключ был проиндексирован по его заказу. Например, a будет 1b будет 2 и так далее.

Тогда мы могли бы сделать привычные итерации, чтобы получить все 2-комбинацию:

for i in range(len(di)): 
    for j in range(i+1, len(di)): 

Однако ключи словаря не индексируются, как описано выше. Итак, как мне выполнить эту итерацию?

ответ

1

До тех пор, пока вы не хотите специальной обработки, чтобы разделить этот список заклиненного на «а»:

list(itertools.combinations(di.values(),2)) 
Out[6]: 
[([1, 2, 5], 34), 
([1, 2, 5], 'haha'), 
([1, 2, 5], 24), 
(34, 'haha'), 
(34, 24), 
('haha', 24)] 

(питон 3 синтаксиса)

+0

Да, я сделал это с di.keys (), и это то, что я хотел. – CodeKingPlusPlus

Смежные вопросы