Это можно сделать следующим образом:
Код: Выделить всё
def pop_default(coll: set, v, default=None):
if v not in coll:
return default
coll.remove(v)
return v
Код: Выделить всё
s = {'a', 'b', 'c'}
assert pop_default(s, 'a') == 'a'
assert s == {'b', 'c'}
assert pop_default(s, 'x') == None
assert s == {'b', 'c'}
Подробнее здесь: https://stackoverflow.com/questions/789 ... not-exists