【问题标题】:How to combine for loop output with another for loop output?如何将 for 循环输出与另一个 for 循环输出结合起来?
【发布时间】:2017-03-24 02:09:44
【问题描述】:

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

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]

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

('Charlotte', 7), ('Lydia', 13), ('Kiri', 2)

提前致谢 !

【问题讨论】:

  • 只需使用zip 合并两个列表zip(random_names, random_numers)

标签: python-3.x for-loop zip output associate


【解决方案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

【讨论】:

  • 问题是我使用的是 python 3,所以当错误发生时我似乎无法使用它 -
  • 好的,我发现对于 python 3,我必须在前面添加列表。所以列表(zip(名称,random_numbers))。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-18
  • 1970-01-01
  • 2018-05-08
相关资源
最近更新 更多