my_dict = {'a':[1,2], 'b':[3], 'c':{'d':[4,5], 'e':[6,7]}}
Ich muss alle Kombinationen daraus wie folgt ableiten.Split Python-Wörterbuch, um in allen Kombinationen von Werten
{'a':1, 'b':3, 'c':{'d':4, 'e':6}}
{'a':1, 'b':3, 'c':{'d':4, 'e':7}}
{'a':1, 'b':3, 'c':{'d':5, 'e':6}}
{'a':1, 'b':3, 'c':{'d':5, 'e':7}}
{'a':2, 'b':3, 'c':{'d':4, 'e':6}}
und so weiter. Es könnte eine Ebene hier nisten
Bitte lassen Sie mich wissen, wie diese
etwas zu erreichen, die ich versucht unten geklebt ist aber auf jeden Fall nirgends erreichte
def gen_combinations(data):
my_list =[]
if isinstance(data, dict):
for k, v in data.iteritems():
if isinstance(v, dict):
gen_combinations(v)
elif isinstance(v, list):
for i in range(len(v)):
temp_dict = data.copy()
temp_dict[k] = v[i]
print temp_dict
my_dict = {'a':[1,2], 'b':[3], 'c':{'d':[4,5], 'e':[6,7]}}
gen_combinations(my_dict)
die in
führte
{'a': 1, 'c': {'e': [6, 7], 'd': [4, 5]}, 'b': [3]}
{'a': 2, 'c': {'e': [6, 7], 'd': [4, 5]}, 'b': [3]}
{'e': 6, 'd': [4, 5]}
{'e': 7, 'd': [4, 5]}
{'e': [6, 7], 'd': 4}
{'e': [6, 7], 'd': 5}
{'a': [1, 2], 'c': {'e': [6, 7], 'd': [4, 5]}, 'b': 3}
Bitte lassen Sie uns wissen, was Sie bisher versucht haben! –
Ich nehme an, Sie möchten die verschachtelten Diktate auch glätten? –
@Suren können Sie die Diskussion unter meiner Antwort betrachten? Welche Ausgabe für den Schlüssel 'e' willst du für' {'a': [1, 2], 'b': [3], 'c': {'d': {4: [3, 4]}, 'e': [6, 7, [1, 2]]}} '? –