some_list = [{"email":"were@mail.com","id_array":1234},{"email":"repo@mail.com","id_array":9887}]

Например, я хочу знать, существует ли электронная почта were@mail.com в списке.

-2
Jyothsna Gadde 5 Июл 2019 в 13:53

3 ответа

Лучший ответ

Вы можете просто использовать это:

any(item["email"] == "were@mail.com" for item in some_list)
# True

Итерации some_list и проверьте, если any из его пунктов есть указанный адрес электронной почты.

Если вам нужно часто выполнять эту проверку, вы можете ускорить ее, создав set, который содержит только письма, а затем проверьте in:

email_set = set(item["email"] for item in some_list)

"were@mail.com" in email_set
# True
6
hiro protagonist 5 Июл 2019 в 12:24

Используя понимание списка:

emails = [i['email'] for i in some_list]
[In]: 'were@mail.com' in emails
[Out]:
True

Также не стесняйтесь проверить эффективность других методов, если ваш список большой (после создания списка только с письмами): Самый быстрый способ проверить, существует ли значение в списке

0
Alejandro 5 Июл 2019 в 11:17

Вы также можете использовать это: -

some_list = [{"email":"were@mail.com","id_array":1234}, 
              {"email":"repo@mail.com","id_array":9887}]

email_list = []
for var in some_list:
    email_list.append(var['email'])
if "were@mail.com" in email_list:
    print("Yes you have required email.")
else:
    print("No you do not have required email") 

Я надеюсь, что это может помочь вам.

0
Rahul charan 5 Июл 2019 в 11:22