将多个值列表映射到python字典中的键列表?

时间:2011-12-07 10:48:18

标签: python list dictionary

我想将一些值(列表列表)映射到python字典中的某些键(列表)。 我看了Map two lists into a dictionary in 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:我正在使用python 2.6.7

3 个答案:

答案 0 :(得分:2)

您可以使用list comprehension

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

答案 1 :(得分:2)

from functools import partial
from itertools import izip, imap
data = map(dict, imap(partial(izip, headers), values))

答案 2 :(得分:1)

它已经非常好了......

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