如何从集合中删除多个元素?

29

假设有一个集合s = {1, 2, 3, 4, 5},我能否通过一条语句从集合中移除子集{1, 2, 3}(而不是在循环中调用s.remove(elem))?

1个回答

57

是的,你可以使用set.difference_update()方法(或-=操作符):

>>> s = {1, 2, 3, 4, 5}
>>> s.difference_update({1, 2, 3})
>>> s
{4, 5}
>>> s -= {4, 5}
>>> s
set()

请注意,difference_update() 的非运算符版本将接受任何可迭代对象作为参数。相比之下,它的基于运算符的对应版本要求其参数为一个集合。

@NewUser134 https://stackoverflow.com/help/self-answer - Eugene Yarmash

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接