ad esempio:Qual è il modo più efficace per comprimere due lista annidata ad un unico dizionario livello
list1=['k1','k2','k3',['k4','k5',['k6','k7']]]
list2=['v1','v2','v3',['v4','v5',['v6','v7']]]
e voglio unirli a un dizionario come questo:
dict1={'k1':'v1','k2':'v2','k3':'v3','k4':'v4','k5':'v5','k6':'v6','k7':'v7'}
Ho un modo per farlo, ma penso che ci vuole troppo tempo:
def mergeToDict(keyList, valueList):
resultDict = {}
for key, value in itertools.izip(keyList, valueList):
if type(key) == list and type(value) == list:
resultDict=dict(resultDict,**mergeToDict(key, value))
elif type(key) != list and type(key) != dict and type(key) != tuple:
resultDict[key] = value
return resultDict
C'è qualche idea migliore?
La soluzione sembra migliore rispetto a tutte le risposte qui sotto. – jterrace