是否有删除方法,如果没有要删除的元素与您要删除的参数匹配,则删除要返回参数的集合的元素?
所以它就像set.discard(a,b),其中a是你要删除的参数,b是未找到a时返回的参数。
答案 0 :(得分:1)
这样的东西?
def _discard(s, key, ret):
try:
s.remove(key)
except KeyError:
return ret
return key
s = set([1,2,3])
ret = "not found"
key = 4
print _discard(s, key, ret), s
key = 3
print _discard(s, key, ret), s
答案 1 :(得分:0)
不是内置的。 除去(ELEM)
删除(ELEM)
从集合中删除元素elem。如果elem未包含在集合中,则引发KeyError。
尝试在自己的函数中捕获异常吗? 捕获异常时返回元素b。