Как извлечь конкретные письма из списка в Python? - PullRequest
0 голосов
/ 19 октября 2018

У меня огромный список писем, и я пытался извлечь только хорошие письма.Проблема в том, что доменов много, так как они могут иметь некоторый пользовательский домен в дополнение к стандартным доменам Gmail.Я пытаюсь вывести корпоративные домены из списка.Вот пример моего кода.Когда я запускаю приведенный ниже код, я получаю все письма в списке.

data = ['test@statefarm.com','test@gmail.com', 'test@yahoo.com', 'test@edwardjones.com']

#I want to remove the domains with statefarm.com or edwardjones.com
for email in data:
    if "statefarm.com" not in email or "edwardjones.com" not in email:
    # I have even tried but it still hasn't worked. 
    #if "statefarm.com" or "edwardjones.com" not in email:
        print(email)

1 Ответ

0 голосов
/ 19 октября 2018

Как говорит @djukha, замените or на and, так же:

data = ['test@statefarm.com','test@gmail.com', 'test@yahoo.com', 'test@edwardjones.com']
for email in data:
    if "statefarm.com" not in email and "edwardjones.com" not in email:
        print(email)

Но еще лучше:

data = ['test@statefarm.com','test@gmail.com', 'test@yahoo.com', 'test@edwardjones.com']
print('\n'.join(filter(lambda x: any(i in x for i in {"statefarm.com","edwardjones.com"}),data)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...