使用Python从列表中选择一个不重复的随机元素

4 投票
1 回答
2287 浏览
提问于 2025-04-18 08:53

我有这样一个列表:

pics = [i for i in glob.glob("*.jpg")]
choice = random.choice(pics)

下面的代码是用来从这个列表中随机选择一张图片的。但是我遇到的问题是,选出来的图片不唯一,很多图片会重复出现。有没有什么办法可以解决这个问题呢?

1 个回答

6

使用 random.sample 可以选择随机的不重复元素:

>>> import random
>>> random.sample(glob.glob('*.jpg'), number_of_images_to_choose)

random.sample 会返回一个 list 对象。

附带说明: 如果你不打算过滤 glob.glob 的结果,就不需要使用列表推导式。

撰写回答