在python中从列表中选择随机数的算法?

时间:2015-04-16 16:20:47

标签: python

我正在寻找一种有效的方法(伪代码会这样做)从列表中随机选择给定数量的值,最好是" Pythonic方式"。值必须来自列表的唯一索引

例如:

list = [0,1,2,3,4,5,24]

def choose(number_of_values, list):
    # method

return_val = choose(3, list)
# return_val = [2, 4, 3]

2 个答案:

答案 0 :(得分:2)

它是random.sample的用途。

>>> import random
>>> random.sample([0,1,2,3,4,5,24],3)
[2, 24, 5]

答案 1 :(得分:1)

使用for循环并将随机选项附加到列表中,然后返回。另外,不要使用list作为变量名,它会遮挡内置函数。

import random

def choose(number_of_values, lst):
    _temp = []
    for i in range(number_of_values):
        _temp.append(random.choice(lst))
    return _temp