如何使用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随机丢弃集合中的多个元素?的主要内容,如果未能解决你的问题,请参考以下文章

python random 从集合中随机选择元素

Python--从集合中随机取出一个元素

Python--从集合中随机取出一个元素

python基础--6 集合

Python基础中的集合,函数——06

python set集合方法总结