Как и другие, я не уверен, о чем вы спрашиваете, но я хочу угадать.
Иногда я использую лямбды немного хакерским способом, обрабатывая результаты вызовов API.
Скажем, например, что элементом результата вызова API должна быть числовая строка, которую я хотел бы получить как целое число, но иногда он возвращает что-то еще.
Вы можете определить лямбду, чтобы превратить строку в целое число, если она состоит из цифр:
lambda x: x and x.isdigit() and int(x) or None
Это позволяет избежать оператора if
, но не из-за lambda
, вы можете сделать то же самое, что и функция:
def f(x):
return x and x.isdigit() and int(x) or None
Обновление
Меньше глючного взлома, любезно предоставлено Полом МакГуайром:
lambda x: int(x) if x and x.isdigit() else None
т.е. поскольку int('0')
возвращает эквивалент False
, лямбда может удивить вас, вернув None
, когда вы захотите 0