如何使用for循环比较两个字符串?

时间:2015-01-27 22:27:13

标签: python

我正在构建一个简单的电子邮件验证程序。我需要将local-parts当前字母与有效字符列表进行比较。所以基本上我问我如何检查我在本地部分的当前字母是否等同于有效字符的整个列表中的字母。如果它是一个有效字符,local-part将转到其字符串中的下一个字母,并查看有效字符列表以查看是否也是这样,依此类推,直到它到达@符号,除非没有有效字符。

我对python很新,所以我不知道嵌套for循环是如何工作的。

for ch in local:
    for ch in valChar:
    if(ch ==ch) <----problem

这是我目前为循环编写的内容。 “ch”是一个变量或某种类型的语法来表示char吗?

4 个答案:

答案 0 :(得分:3)

在这种情况下,您不需要嵌套循环,这要归功于in运算符:

for c in local:
    if c in valChar:
        performvalidaction(c)
    else:
        denoteasinvalid(c)

使用什么标识符(cch或其他任何东西)是非常无关紧要的,我倾向于使用单字符标识符来表示循环变量,但是没有规则说你必须。

如果你必须使用两个嵌套循环,那么你只需要为这两个循环使用不同的循环变量。

事实上,你甚至不需要一个循环(例如,你可以使用Python&#39; s set来工作) - 更不用说了两个 - 但是如果它更清楚,我想使用一个循环是可以的。

答案 1 :(得分:0)

ch是一个变量,您可以将其替换为任何有效的标识符:

for local_ch in local:
    for valChar_ch in valChar:
        if(local_ch == valChar_ch): <----No problem

答案 2 :(得分:0)

让我为你解释for循环:

for eachitem in file:
    do something

eachitem是文件/字典等的一个特定值的变量。

答案 3 :(得分:-2)

您需要验证电子邮件地址,我会使用正则表达式: \ B [A-Z0-9 ._%+ - ] + @ [A-Z0-9 .-] + [A-Z] {2,6-} \ B'/ P>