我在 Python 中有两个列表:
list1 = [1, 2, 3, 4, 5]
list2 = []
我想从 list1 到 list2 添加固定数量的随机项。例如,如果我想从 list1 中随机添加 3 个项目到 list2,我该怎么做?
我尝试过使用append函数,但它添加了从list1到list2的所有项目,这不是我想要的。
如何以简单易懂的方式实现这一目标?
你在问什么有点不清楚,但是根据你写的句子:我想将 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]
由于不清楚是否要重复数字,因此建议的替代方案是使用下面的代码,该代码也允许重复数字:
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]
您可以在这里使用
random.sample
方法:
random_items = random.sample(list1, random.randint(1, len(list1)))
list2.extend(random_items)