如何从不是特定元素的列表中随机获取 n 大小的元素
How to take a random n sized elements from a list that aren't specific elements
从一个列表中,我必须采用 quantity
大小的随机元素列表并将其转换为另一个名为 sample
的列表。这是我的:
used = [element1.png, element2.png]
sample = random.sample(os.listdir(current_dir + '/Logos/'), quantity)
如何确保此随机样本中没有来自 used
的任何项目?是否可以在一行中完成此操作而不是笨重的 if 语句?
IIUC 也许可以尝试一个简单的 list
理解:
used = ['element1.png', 'element2.png']
sample = random.sample([i for i in os.listdir(current_dir + '/Logos/') if i not in used], quantity)
现在:
print(sample)
会给出预期的结果。
把你的人口变成一个集合,然后用集合(used)取差。然后从那个差异结果中取样本。
sample = random.sample(
list(set(os.listdir(current_dir + '/Logos/')) - set(used)),
quantity)
从一个列表中,我必须采用 quantity
大小的随机元素列表并将其转换为另一个名为 sample
的列表。这是我的:
used = [element1.png, element2.png]
sample = random.sample(os.listdir(current_dir + '/Logos/'), quantity)
如何确保此随机样本中没有来自 used
的任何项目?是否可以在一行中完成此操作而不是笨重的 if 语句?
IIUC 也许可以尝试一个简单的 list
理解:
used = ['element1.png', 'element2.png']
sample = random.sample([i for i in os.listdir(current_dir + '/Logos/') if i not in used], quantity)
现在:
print(sample)
会给出预期的结果。
把你的人口变成一个集合,然后用集合(used)取差。然后从那个差异结果中取样本。
sample = random.sample(
list(set(os.listdir(current_dir + '/Logos/')) - set(used)),
quantity)