如何使用Python从较大的列表创建较小的随机列表

时间:2019-10-17 18:09:37

标签: python

我想创建一个包含从许多项目列表中随机选择的三个项目的列表。这就是我的方法,但是我觉得可能有一种更有效的(zen)方法来使用python。

import random

words = ['bacon', 'gorilla', 'phone', 'hamburger', 'mother']

small_list = []

while len(small_list) < 4:
    word = random.choice(words)
    if word not in small_list:
        small_list.append(word)

预期的输出将类似于:

small_list = ['phone', 'bacon', 'mother']

2 个答案:

答案 0 :(得分:4)

使用random.sample

  

返回从总体中选择的k长度的唯一元素列表   顺序或集合。用于随机抽样而无需替换。

import random

words = ['bacon', 'gorilla', 'phone', 'hamburger', 'mother']
small_list = random.sample(words, k=3)

print(small_list)
# ['mother', 'bacon', 'phone']

答案 1 :(得分:1)

this answer中,您可以使用random.sample()来选择一组数据。

small_list = random.sample(words, 4)

Demo