如何在Python中将固定数量的项目从一个列表随机添加到另一个列表? [已关闭]

问题描述 投票:0回答:3

我在 Python 中有两个列表:

list1 = [1, 2, 3, 4, 5]
list2 = []

我想从 list1 到 list2 添加固定数量的随机项。例如,如果我想从 list1 中随机添加 3 个项目到 list2,我该怎么做?

我尝试过使用append函数,但它添加了从list1到list2的所有项目,这不是我想要的。

如何以简单易懂的方式实现这一目标?

python list random
3个回答
0
投票

你在问什么有点不清楚,但是根据你写的句子:我想将 list1 中的任何随机项添加到 list2

我想这是一种方法:

from random import randint, sample

list1 = [1, 2, 3, 4, 5]
list2 = sample(list1,randint(1,len(list1)))

print(list2)

结果(运行7次后):

[3]
[1, 3, 5, 4, 2]
[4, 5, 1, 3, 2]
[3, 1]
[1, 5, 3, 2]
[5, 2, 4, 1]
[3, 2, 4]

0
投票

由于不清楚是否要重复数字,因此建议的替代方案是使用下面的代码,该代码也允许重复数字:

from random import choice, randint

list1 = [1, 2, 3, 4, 5]
list2 = []

num_items = randint(1, len(list1))

for _ in range(num_items):
    list2.append(choice(list1))

结果类似于:

[4, 2, 5, 2]
[5, 4, 4]
[5, 3, 5, 2, 5]

0
投票

您可以在这里使用

random.sample
方法:

random_items = random.sample(list1, random.randint(1, len(list1)))
list2.extend(random_items)
© www.soinside.com 2019 - 2024. All rights reserved.