Как организовать перестановки ключей в словаре при помощи itertools.permutations()?
A = {
"a": [1, 0, 1],
"b": [0, 1, 1],
"c": [1, 0, 1],
"d": [1, 1, 0],
"e": [0, 1, 1]
}
Как сделать перестановки всех ключей, не трогая при этом их значений?
Ответы (1 шт):
Автор решения: Михаил Муругов
→ Ссылка
from itertools import permutations
A = {
"a": [1, 0, 1],
"b": [0, 1, 1],
"c": [1, 0, 1],
"d": [1, 1, 0],
"e": [0, 1, 1]
}
values = A.values() # Запоминаем значения из словаря
for perm in permutations(A.keys()): # Перебираем все перестановки ключей словаря
new_dict = dict(zip(perm, values)) # Из очередной перестановки и значений делаем новый словарь
print(new_dict) # Выводим новый словарь