从集合中删除元素并返回集合

inv*_*tax 3 python loops set

我需要迭代不包含特定元素的集合的副本。到目前为止我正在这样做:

for element in myset:
    if element != myelement:
       ...
Run Code Online (Sandbox Code Playgroud)

但我想要这样的东西,一行:

for element in myset.copy().remove(myelement):
    ...
Run Code Online (Sandbox Code Playgroud)

显然这不起作用,因为该remove方法返回 None。

che*_*ner 8

使用集差运算符。

for element in myset - {myelement}:
    ...
Run Code Online (Sandbox Code Playgroud)

myset这将创建一个新集合,其中包含不存在的元素{myelement}(即myelement本身)。