假设有一个集合s = {1, 2, 3, 4, 5}
,我能否通过一条语句从集合中移除子集{1, 2, 3}
(而不是在循环中调用s.remove(elem)
)?
假设有一个集合s = {1, 2, 3, 4, 5}
,我能否通过一条语句从集合中移除子集{1, 2, 3}
(而不是在循环中调用s.remove(elem)
)?
是的,你可以使用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()
的非运算符版本将接受任何可迭代对象作为参数。相比之下,它的基于运算符的对应版本要求其参数为一个集合。