J'ai la difficulté suivante: Étant donné mon dictionnaire d'entrée avec 4 clés et leurs valeurs par ex. Je souhaite obtenir tous les sous-dictionnaires possibles avec une seule valeur pour chaque clé; de préférence dans une liste par ex.Étant donné un dictionnaire, obtenir toutes les configurations de sous-dictionnaire possibles
dict_list = [
{'WetGrass': False, 'Rain': False, 'Sprinkler': False, 'Cloudy': False},
{'WetGrass': False, 'Rain': False, 'Sprinkler': False, 'Cloudy': True},
{'WetGrass': False, 'Rain': False, 'Sprinkler': True, 'Cloudy': False},
{'WetGrass': False, 'Rain': False, 'Sprinkler': True, 'Cloudy': True},
{'WetGrass': True, 'Rain': False, 'Sprinkler': False, 'Cloudy': False},
{'WetGrass': True, 'Rain': False, 'Sprinkler': False, 'Cloudy': True},
{'WetGrass': True, 'Rain': False, 'Sprinkler': True, 'Cloudy': False},
{'WetGrass': True, 'Rain': False, 'Sprinkler': True, 'Cloudy': True}
]
J'ai essayé déjà les éléments suivants:
src = {'lblA': (False, True), 'lblB': (False, True), 'lblC': (0, 1, 2)}
labels, terms = zip(*src.items())
print [dict(zip(labels, term)) for term in itertools.product(*terms)]
D'ici:
Best way to enumerate a cartesian product with labels in python?
Mais je continue à obtenir l'erreur:
TypeError 'bool' object is not iterable
J'espère que quelqu'un peut m'aider.
Merci!
Hey Azat merci beaucoup! C'était exactement ce que je voulais accomplir! Pouvez-vous m'expliquer pourquoi j'ai eu l'erreur ci-dessus? Et que fait le * devant global_dict.values ()? Quel est son effet? – SolingerMUC
@SolingerMUC: ok, donnez-moi une minute –
@SolingerMUC: fait –