にネストされた2つのリストを圧縮するための最も効率的な方法です:どのような単一レベルの辞書例えば
list1=['k1','k2','k3',['k4','k5',['k6','k7']]]
list2=['v1','v2','v3',['v4','v5',['v6','v7']]]
と私はこのような辞書にそれらをマージしたい:
dict1={'k1':'v1','k2':'v2','k3':'v3','k4':'v4','k5':'v5','k6':'v6','k7':'v7'}
私が持っていますこれを行う方法が、私はそれは時間がかかりすぎると思う:
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
は、任意のより良いアイデアはありますか?
あなたのソリューションは、以下の答えの全てよりも良く見えます。 – jterrace