使用Python从列表中选择一个不重复的随机元素
我有这样一个列表:
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
的结果,就不需要使用列表推导式。