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

Eug*_*ash 3 python set python-3.x

说我有一套s = {1, 2, 3, 4, 5}.我可以{1, 2, 3}在一个语句中删除集合中的子集(而不是s.remove(elem)在循环中调用)吗?

Eug*_*ash 13

是的,您可以使用set.difference_update()方法(或-=运算符):

>>> s = {1, 2, 3, 4, 5}
>>> s.difference_update({1, 2, 3})
>>> s
{4, 5}
>>> s -= {4, 5}
>>> s
set()
Run Code Online (Sandbox Code Playgroud)

请注意,非运算符版本difference_update()将接受任何iterable作为参数.相比之下,它的基于运算符的对应物要求其参数是一组.