所以我可以说我有两个列表,一个是导演的名字,另一个是电影的名字。
所以:
directors = ['Tarr', 'Lynch' 'Coen']
movies = ['movie1', 'movie2', 'movie3', 'movie4']
我想要的最终结果:
{'movie1':'Tarr', 'movie2':'Tarr', 'movie3':'Lynch', 'movie4':'Tarr'}
但是等一下?科恩怎么样?我想要的另一件事是随机选择的值(导演)。
我真正遇到麻烦的部分是强制字典显示4个元素。 Python只给了我3,因为directors
列表只包含3个导演,即使有4部电影。
谢谢你们。
答案 0 :(得分:4)
试试这个:
from random import choice
results = {}
for movie in movies:
results[movie] = choice(directors)
这将为电影列表中的每部电影选择一个随机导演,并将其存储在结果字典中。
你可以用字典理解做同样的事情:
from random import choice
results = {x: choice(directors) for x in movies}
答案 1 :(得分:2)
您可能想告诉我们您是否选择更换。无论如何,我希望这有帮助(这是替换):
import random
directors = ['Tarr', 'Lynch' 'Coen']
movies = ['movie1', 'movie2', 'movie3', 'movie4']
my_dictionary = {}
for each_movie in movies:
my_dictionary[each_movie] = random.choice(directors)
print my_dictionary
答案 2 :(得分:2)
要使Ben's answer更加pythonic,请使用dictionary comprehension(Python≥2.7):
import random
directors = ['Tarr', 'Lynch' 'Coen']
movies = ['movie1', 'movie2', 'movie3', 'movie4']
results = { movie : random.choice(directors) for movie in movies }
(我只想import random
代替from random import choice
,所以我可以通过其完全限定名称来引用random.choice
,从而获得告诉读者它正在执行随机选择。)