2011-12-07 16 views
2

私はいくつかの値(リストのリスト)をPython辞書のいくつかのキー(リスト)にマップしたいと思います。 私はMap two lists into a dictionary in Python複数の値リストを、Python辞書のキーのリストにマップしますか?

を読んで、私はこのようことを行うことができます考え出し:

headers = ['name', 'surname', 'city'] 
values = [ 
    ['charles', 'rooth', 'kentucky'], 
    ['william', 'jones', 'texas'], 
    ['john', 'frith', 'los angeles'] 
] 
data = [] 

for entries in values: 
    data.append(dict(itertools.izip(headers, entries))) 

しかし、私は思っていたが行くためのよりよい方法はありますか?

おかげ

PS:私はあなたがlist comprehensionを使用することができますのpythonに2.6.7

答えて

1

それは...すでに

data = [dict(itertools.izip(headers, entries) for entries in values] 
1

だ:

data = [dict(itertools.izip(headers, entries)) for entries in values] 
2
from functools import partial 
from itertools import izip, imap 
data = map(dict, imap(partial(izip, headers), values)) 
本当にうれしいです
+0

+1。 'values'に多くの項目がある場合、これは私が投稿したリストの理解よりも速くなります。 – unutbu

関連する問題