我怎样才能使这段代码更短,但是却能获得更多?-Python-电子邮件验证程序

问题描述

我正在尝试创建一个验证电子邮件的程序,以检查它是否有效。我的功能之一是找出电子邮件中是否有引号,然后将引号与电子邮件中的本地部分分开,并继续将其分开,直到将所有引号放入单独的变量中为止。到目前为止,我所做的是:

local = help."hello"."a"
quote_list = local.split('"')
            print(quote_list)
            leng = len(quote_list)
            print(leng)

上面的代码只是为了帮助下面的代码正常工作
这是我需要帮助的部分(见下文):

            if leng == 3:
                quote = quote_list[1]
            if leng == 5:
                quote,quote_2 = quote_list[1],quote_list[3]
            if leng == 7:
                quote,quote_2,quote_3 = quote_list[3],quote_list[5],quote_list[3]

有什么方法可以使代码更短,并重复更长的次数?非常感谢 希望你们能找到解决这个问题的方法

解决方法

怎么样...

quotes = [
    quote_list[i] for i in range(1,leng)
]

这将遍历您的quote_list,并从索引1(=第二个元素)开始每隔一个元素提取一个。

然后您可以在下一步中处理这些引号(现在存储在quotes中)。


但是请记住,这通常不太容易。尽快忘记关闭单引号会出错。 (并且 有时会忘记报价。)此外,某些电子邮件工具可能会使用不同种类的报价。