将两个元素数目不等的列表连接到字典中

2024-05-05 03:16:01 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有两个列表,一个是导演的名字,另一个是电影的名字。在

所以:

directors = ['Tarr', 'Lynch' 'Coen']
movies = ['movie1', 'movie2', 'movie3', 'movie4']

我想要的最终结果是:

^{pr2}$

但是等一下?科恩呢?我想要的另一件事是随机选择值(控制器)。在

我真正遇到麻烦的部分是强迫字典显示4个元素。Python只给了我3个,因为directors列表只包含3个导演,尽管有4部电影。在

谢谢各位。在


Tags: 列表字典电影控制器movies名字pr2directors
3条回答

要使Ben's answer更具Python风格,请使用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,这样我就可以通过它的全限定名来引用{},从而得到告诉读者它正在执行一个随机选择的代码。)

试试这个:

from random import choice

results = {}
for movie in movies:
    results[movie] = choice(directors)

这将为电影列表中的每部电影随机选择一个导演,并将它们存储在结果字典中。在

你可以用字典理解来做同样的事情:

^{pr2}$

你可以告诉我们,你是否选择更换。无论如何,我希望这有帮助(这是替换):

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

相关问题 更多 >