
假设你有:
keys = ('name', 'age', 'food')
values = ('Monty', 42, 'spam')
生成下面的字典最简单的方法是什么?
a_dict = {'name' : 'Monty', 'age' : 42, 'food' : 'spam'}
这段代码有用,但我并不为此感到骄傲:
a_dict = {}
junk = map(lambda k, v: a_dict.update({k: v}), keys, values)
像这样:
>>> keys = ['a', 'b', 'c']
>>> values = [1, 2, 3]
>>> dictionary = dict(zip(keys, values))
>>> print(dictionary)
{'a': 1, 'b': 2, 'c': 3}
Voila :-)成对的dict构造函数和zip函数非常有用:https://docs.python.org/3/library/functions.html#func-dict
试试这个:
>>> import itertools
>>> keys = ('name', 'age', 'food')
>>> values = ('Monty', 42, 'spam')
>>> adict = dict(itertools.izip(keys,values))
>>> adict
{'food': 'spam', 'age': 42, 'name': 'Monty'}
在Python 2中,与zip相比,它在内存消耗上也更经济。
未经作者同意,本文严禁转载,违者必究!




近期评论