0

假设我有一个生成随机名称的循环

names = ['Kiri', 'Elizabeth', 'Philip', 'Charlotte', 'Lydia']

random_names = []
for x in range(3):
    random_names.append(random.choice(names))
print (random_names)

- 这将打印出随机的 3 个名字,例如 ['Charlotte', 'Lydia', 'Kiri']

然后我想生成随机数,比如说从 1 到 20

random_numbers = random.sample([x for x in range (1,20)], (3))
print (random_numbers)

假设我们得到了 [7, 13, 2]

然后我的问题是,我想将这些随机数分配给以下随机名称,以便它与名称相关联。我应该如何以某种方式编写代码,以便它可以显示为

('夏洛特',7),('莉迪亚',13),('基里',2)

提前致谢 !

4

1 回答 1

1

有几种方法可以使用zip看看这个小例子:

names = ['Kiri', 'Elizabeth', 'Philip', 'Charlotte', 'Lydia']
random_numbers = random.sample([x for x in range (1,20)], (3))
zip(names,random_numbers)

输出

[('Kiri', 19), ('Elizabeth', 3), ('Philip', 1)]

上面的输出是list of tuples

于 2017-03-24T02:31:24.603 回答