假设我有一套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()的非运算符版本将接受any iterable作为参数.相反,基于运算符的对应项要求其参数为集合.

Python-3.x相关问答推荐

我的SELECT函数搜索的是列,而不是列中的数据.我怎么才能让它搜索数据呢?

如何有效地计算Kernel/Matrix

visual studio代码窗口中未激活虚拟环境11

删除列表中的第二个出现

从 https://www.niftytrader.in/stock-options-chart/sbin 提取 SBIN 股票最大痛苦值的 Python 代码不起作用 - 我错过了什么?

Pytest顺序测试A,然后测试B,然后再测试A

如何使用`re.findall`从字符串中提取数据

将逗号分隔的字符串类型系列转换为整数列表 pandas

通过点和线计算CV2 Homography

Python从base64转换为二进制

Pytorch 的随机 Select ?

UnicodeDecodeError:utf-8编解码器无法解码位置 1 的字节 0x8b:无效的起始字节,同时读取Pandas中的 csv 文件

Python:pprint的模块错误,打印没有错误

Python 3 变量名中接受哪些 Unicode 符号?

Python 3.10 模式匹配 (PEP 634) - 字符串中的通配符

在没有时间的python中创建日期

使用 python2 和 python3 创建一个 virtualenv

带有自定义标头的 urllib.urlretrieve

如何阻止散景在 Jupyter Notebook 中打开新标签?

交错4个相同长度的python列表