Wpis z mikrobloga

Mireczki, help me! Próbuję w #python wygenerować wszystkie możliwe słowniki, gdzie:
- każdy z nich ma 3 elementy
- pierwszy element (key1) może mieć wartości True lub False
- drugi element (key2) może mieć wartości od A do C
- trzeci (key3) - od X do Z

czyli chciałbym uzyskać listę taką jak: [{"key1": True, "key2": "A", "key3": "X"}, {"key1": True, "key2": "B", "key3": "Z"}...], gdzie byłyby wszystkie możliwe słowniki. Domyślam się, że pewnie to co szukam jest w itertools, ale kompletnie nie pamiętam jak to ugryźć (,)

Thanks from mountain!

#programowanie #naukaprogramowania
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

import itertools as it
my_dict={'key1':['True','False'],'key2':['A','B','C'],'key3':['X','Y','Z']}
allNames = sorted(my_dict)
combinations = it.product(*(my_dict[Name] for Name in allNames))
print(list(combinations))

[('True', 'A', 'X'), ('True', 'A', 'Y'), ('True', 'A', 'Z'), ('True', 'B', 'X'), ('True', 'B', 'Y'), ('True', 'B',
  • Odpowiedz