Извлеките конкретный элемент из набора Python и получите значение по умолчанию, если он не существует [закрыто]Python

Программы на Python
Anonymous
Извлеките конкретный элемент из набора Python и получите значение по умолчанию, если он не существует [закрыто]

Сообщение Anonymous »

Существует ли простой метод, возможно однострочный, для извлечения элемента из набора Python и получения значения по умолчанию, если он не существует?
Это можно сделать за четыре строк кода и два поиска в хэш-таблице:
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

Вернуться в «Python»