如何使用Python随机丢弃集合中的多个元素?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Python随机丢弃集合中的多个元素?相关的知识,希望对你有一定的参考价值。
例如,我有这个Set对象:
a = {0,1,2,3,4,5}
如何从这个集合中随机删除固定数量的元素?
答案
要删除2个随机元素,请对2个随机元素进行采样,然后将其删除:
a.difference(random.sample(a, 2))
或者只是采样小于集合大小的两个元素:
set(random.sample(a, len(a) - 2))
如果你想要一个破坏性的操作(让a
改变),你可以在它上面使用difference_update
:
a.difference_update(random.sample(a, 2))
另一答案
一种可能的方法是选择要删除的元素数,迭代后面的范围,然后选择要删除的值:
import random
a = {0,1,2,3,4,5}
n = 2
for i in range(n):
val = random.choice(list(a))
a.remove(val)
或者,甚至更短,理解:
vals = [random.choice(list(a)) for i in range(n)]
a = {i for i in a if i not in vals}
以上是关于如何使用Python随机丢弃集合中的多个元素?的主要内容,如果未能解决你的问题,请参考以下文章