@MonsterAndrew

Как можно упростить этот Python код?

Есть код:
for player in players:
    if player["id"] == user_id: return player
    else: return False


Как можно уместить его в одну строчку?

P.S. Я пробовал вот так: return [d for d in players if d["id"] == user_id], но тогда он возвращает не False, а пустой массив. Хотелось бы чтобы если if не сработает возвращался False.
  • Вопрос задан
  • 181 просмотр
Пригласить эксперта
Ответы на вопрос 2
planc
@planc
next((d for d in players if d["id"] == user_id), False)
Ответ написан
@SexyHair
Зачем тут вообще цикл, если после первой итерации в любом случае вернется или player или False
return players[0] if players[0]['id'] == user_id else False
P.S Ответ на ваш "P.S"
Попробуйте return [d for d in players if d["id"] == user_id] or False
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы