2016-11-11 17 views
1

辞書を構築しようとしていますが、キーはリストの最初の要素であり、残りの要素は値ですので、次のようになります形式: {str:[str、str、str、int、str]}しかし、今はリストの最初の要素をキーとして取得し、残りを値として取得する方法を理解していません。ここで は一例です:リストからキーと値を取得して辞書に追加する方法

これはリスト

['asmith', 'Alice', 'Smith', '31', 'F', '[email protected]'] 

最初の要素である、[0]キーと残りはここで値

ですされて、私がこれまで持っているものされています

def create_dict(my_file): 
    information = my_file.read() 
    information = information.split() 
    res = [] 
    for element in information: 
     res.append(element) 
    print(res) 
    print(res[0]) 
    d = dict((res[0], res[1:6]) for res[0] in res[1:6]) 
    print(d) 

答えて

2

あなたの理解度はここで混乱しています。

d = dict((res[0], res[1:6]) for res[0] in res[1:6]) 

あなたはresはリストのリストであると仮定すると、ループの中でこのような何かを行う可能性があります:

d = {} 
for r in res: 
    d[r[0]] = r[1:6] 

あるいは理解を使用して:

d = {r[0]:r[1:6] for r in res} 
+0

理解を使用して、これがあるなって出力イムです –

+0

あなたはMCVEを提供する必要がありますが、あなたはMCVEを提供する必要があります。あなたの入力データのあなたが私の答え( "res"がリストのリストであると仮定して)で言及した警告に注意を払っていないようです。 'res'が* single *リスト(リストのネストされたリストではない)の場合、解決策は同じではありません。 –

+0

それ以外の場合は、あなたのリストが*単一の*人のみを表している場合、これを無意味/冗長/不要にしてこれを辞書にキャストする必要があります。あなたの質問に '情報 'のためのいくつかの例のデータを示してください。 –

関連する問題