如何从列表中添加2个随机数?

例如:

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

我想从这个列表中获取2个随机数并将它们加在一起:

例如3 2.

最佳答案 对于唯一选择(无需替换的采样),您可以使用
random.sample从列表中选择多个随机元素并使用内置的
sum.

>>> list1 = [1,2,3,4,5,6]
>>> from random import sample
>>> sum(sample(list1, 2))
7

如果您尝试获取大于列表(或更一般地,填充)大小的样本,则会引发ValueError.

>>> sum(sample(list1, len(list1) + 1))
  File "D:\Anaconda\lib\random.py", line 315, in sample
    raise ValueError("Sample larger than population")
ValueError: Sample larger than population

对于非唯一选择(替换采样),对于小样本的简单方法只需重复调用random.choice即可获得所需的任何样本大小.

>>> from random import choice
>>> sum(choice(list1) for _ in range(2))
6

显然,当采样替换时,样本大小可能大于人口的大小.

>>> sum(choice(list1) for _ in range(1000))
3527
点赞