@rsytrade

Как правильно использовать lambda выражение?

У меня вот такое выражение
cbs = {'Key1': 'val1', 'Key2': 'val2', 'Key3': 'val3'}
''.join(filter(lambda roll: cbs.get(roll), ['Key1', 'Key8']))

возвращает ключь Key1, что нужно исправить чтобы возвращало значение ключа - val1?
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
Вместо filter()используйте map()
плюс добавьте значение по умолчанию для .get(), чтобы функция не спотыкалась на None
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
cbs = {'Key1': 'val1', 'Key2': 'val2', 'Key3': 'val3'}
''.join(filter(bool, map(lambda roll: cbs.get(roll), ['Key1', 'Key8'])))
# 'val1'
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы