Imagine that you have:
keys = ('name', 'age', 'food')
values = ('Monty', 42, 'spam')
What is the simplest way to produce the following dictionary ?
a_dict = {'name' : 'Monty', 'age' : 42, 'food' : 'spam'}
This code works, but I'm not really proud of it :
a_dict = {}
junk = map(lambda k, v: a_dict.update({k: v}), keys, values)
解决方案
Like this:
>>> keys = ['a', 'b', 'c']
>>> values = [1, 2, 3]
>>> dictionary = dict(zip(keys, values))
>>> print(dictionary)
{'a': 1, 'b': 2, 'c': 3}
Voila :-) The pairwise dict constructor and zip function are awesomely useful: https://docs.python.org/3/library/functions.html#func-dict