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

ubu*_*ani 4 python random list

我有这个清单:

pics = [i for i in glob.glob("*.jpg")]
choice = random.choice(pics)
Run Code Online (Sandbox Code Playgroud)

并且列表下方的代码用于从列表中选择随机图像.我的问题是,它不是唯一的,很多图片重复..有没有办法克服这个?

vau*_*tah 6

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

>>> import random
>>> random.sample(glob.glob('*.jpg'), number_of_images_to_choose)
Run Code Online (Sandbox Code Playgroud)

random.sample返回一个list对象.

旁注:除非您计划过滤结果,否则不需要列表理解glob.glob.