@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.
  • Вопрос задан
  • 180 просмотров
Пригласить эксперта
Ответы на вопрос 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
28 мар. 2024, в 21:25
2000 руб./за проект
28 мар. 2024, в 21:17
5000 руб./за проект
28 мар. 2024, в 20:46
150000 руб./за проект