lovebarcafc
@lovebarcafc
Кратко не получится

Как проверить элемент словаря на наличие по его имени?

Как проверить элемент словаря на наличие по его имени?
У меня есть много словарей в списке, выглядит это как-то так:
cities = [
  {
    "region": "Москва и Московская обл.",
    "city": "Москва"
  },
  {
    "region": "Москва и Московская обл.",
    "city": "Абрамцево"
  },
  {
    "region": "Москва и Московская обл.",
    "city": "Алабино"
  },
  {
    "region": "Москва и Московская обл.",
    "city": "Апрелевка"
  },
  ...
]

Как проверить наличие, например, элемента "Москва" в этом списке?
Пробовал через цикл for:
for i in cities:
    if "Москва" == i['city']:
        print(1)
    else:
        print(2)


Но в таком случае выводит сразу много 2, и одну 1. Мне же нужно, чтобы выводилось либо 2, либо 1. Не более.

Есть варианты? Может подойдет что-то типа in?
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Только перебором списка:
if any(i.get('city') == 'Москва' for i in cities):
    print(1)
else:
    print(2)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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