Python: есть ли способ узнать, что словарь существует в списке - PullRequest
0 голосов
/ 05 июля 2019
some_list = [{"email":"were@mail.com","id_array":1234},{"email":"repo@mail.com","id_array":9887}]

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

Ответы [ 3 ]

6 голосов
/ 05 июля 2019

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

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
0 голосов
/ 05 июля 2019

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

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 голосов
/ 05 июля 2019

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...