Отобразить несколько списков значений в список ключей в словаре Python? - PullRequest
3 голосов
/ 07 декабря 2011

Я хочу отобразить некоторые значения (список списков) на некоторые ключи (список) в словаре 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: я на питоне 2.6.7

Ответы [ 3 ]

2 голосов
/ 07 декабря 2011
from functools import partial
from itertools import izip, imap
data = map(dict, imap(partial(izip, headers), values))
2 голосов
/ 07 декабря 2011

Вы можете использовать понимание списка :

data = [dict(itertools.izip(headers, entries)) for entries in values]
1 голос
/ 07 декабря 2011

Это уже очень мило

data = [dict(itertools.izip(headers, entries) for entries in values]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...