检查列表元素是否以某些符号结尾

时间:2019-07-03 16:11:11

标签: python list

我需要对电子邮件列表进行排序,以删除所有在公共服务器上注册的电子邮件。为此,我使用https://gist.github.com/tbrianjones/5992856/已知公共服务器列表。现在,我使用一小部分虚拟电子邮件进行测试。在下面。

  • dsfdgfsgdiuoh@gmail.com
  • dspoihgouh@gsk.com
  • dsdoiguyghpjo@spotify.com
  • 4mewfewf@sketch.com
  • fwefewfew@i.ua
  • test@yahoo.com
  • test2@yahoo.com
  • wefwegewgewg​​@yahoo.com

作为背景,我可能会补充说我不是程序员,所以您可能会从我这边承担任何类型的错误。

列表在下面。

def csv_importer(input_file):
    output_list = []
    f = open(input_file, 'r')
    for line in f:
        output_list.append(line.rstrip())
    f.close()
    return output_list

emails_list = csv_importer('emails_list.csv')
domains_list = csv_importer('domains_list.csv')

def sorter(domain, emails_list):
    for email in emails_list:
        if email.endswith(domain):
            emails_list.remove(email)

for domain in domains_list:
    sorter(domain, emails_list)
print(emails_list)

输出为下一个:

['dspoihgouh@gsk.com', 'dsdoiguyghpjo@spotify.com', '4mewfewf@sketch.com', 'fwefewfew@i.ua', 'test2@yahoo.com']

yahoo.com已包含在这些公共服务器列表中。

test2@yahoo.com应该排除在外,但不能排除在外。 还要多说-我的虚拟电子邮件列表中的test@yahoo.com已删除。

这很稳定,对于任何数量的代码运行,输出都是相同的。

可能出什么问题了-为什么代码会丢弃test@yahoo.com但保留test2@yahoo.com

在Mac上通过CodeRunner3实现的Python3。

0 个答案:

没有答案