2017-03-20 14 views
0

「マスター辞書」に結合するのと同じ長さのリストがいくつかあります。ほとんどは文字列で構成され、一方はリストのリストです。例えば。複数のリスト(文字列のリスト、リストのリスト)から辞書を作成する

directories = ['\\folder1', '\\folder2', '\\folder3'] 
tables = ['ABC', 'ABC', 'XYZ'] 
cohort = ['IN', 'OUT', 'IN'] 
variables = [[var1, var2, var3], [var1, var2, var3, var4, var5], [var1, var2]] 

私は、出力がなりたい:私は(B/Cそれはいくつかの複雑なネストされたタプルを作成します)試してみましたが、したくない

dictionary = {'\\folder1': ('ABC', 'IN', [var1, var2, var3]), 
       '\\folder2': ('ABC', 'OUT', [var1, var2, var3, var, var5]), 
       '\\folder3': ('XYZ', 'IN', [var1, var2])} 

dictionary = dict(zip(directories, zip(tables, zip(cohort, variables)))) 
+0

あなたの 'dictionary'は無効です: '' IN''キーを2回定義します。だから、そのような辞書を作ることはできません。 –

+1

'' ABC '、' IN '、[var1、var2、var3] 'はタプルであるはずですか?それ以外の場合は有効な辞書ではありません。もしそうなら、1つの 'zip'、' d = dict(zip(ディレクトリ、zip(テーブル、コホート、変数))) ' –

+0

が1つあります。他の3つのリスト:テーブル、コホート、変数はすべて値である必要があります(したがって、一意でない場合もあります)。 ( 'ABC'、 'IN'、[var1、var2、var3)はタプルを意味しています - それを指摘してくれてありがとう - 私は編集します! –

答えて

0

感謝を、Steven、この質問に対する答え:

d = dict(zip(directories, zip(tables, cohort, variables))) 
関連する問題