说我有一套s = {1, 2, 3, 4, 5}
。我是否可以在一个语句中从集合中删除子集{1, 2, 3}
(而不是在循环中调用s.remove(elem)
)?
答案 0 :(得分:10)
是的,您可以使用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()
的非运算符版本将接受任何可迭代的作为参数。相反,它的基于运算符的对应物要求其参数为一组。