Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
循环中的循环如何与python一起工作_Python_Loops_For Loop - Fatal编程技术网

循环中的循环如何与python一起工作

循环中的循环如何与python一起工作,python,loops,for-loop,Python,Loops,For Loop,例如,我有以下代码: websites = ['<html><head></head><body></body></hmtl>'] emails = [] for sourcecode in websites: #Search the link before writing x = re.findall(r'(?i)\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b', so

例如,我有以下代码:

websites = ['<html><head></head><body></body></hmtl>']
emails = []

for sourcecode in websites:
    #Search the link before writing
    x = re.findall(r'(?i)\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b', sourcecode)
    for email in x:
        emails.append(email)


print(emails)
print(len(emails))
websites=[']
电子邮件=[]
对于网站中的源代码:
#写之前先搜索链接
x=re.findall(r'(?i)\b[A-Z0-9.\uz0%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b',源代码)
对于x中的电子邮件:
电子邮件。附加(电子邮件)
打印(电子邮件)
打印(len(电子邮件))
这些网站是来自许多不同网站的一系列源代码。电子邮件数组是空的,因为我们将在网站源代码中循环查找电子邮件地址,然后将它们附加到电子邮件数组中。基本上提取电子邮件地址。然后打印电子邮件并打印提取的电子邮件数量

上述代码正在运行。然而,假设我有5个源代码。它是如何在循环中使用循环的

我假设第一个循环从数组中的0索引开始运行。然后进入下一个循环提取所有电子邮件。第二个循环将遍历所有基本上完成其任务的数组。然后,第一个循环将前进到数组中的1个索引,然后第二个循环将循环该数组的整个索引,完成其任务,循环将继续,直到第一个循环完成


这就是它的执行方式,或者有人能让我们了解更多。谢谢!:)

对于外部循环的每次迭代,内部循环将执行其所有迭代

在这种情况下,你可以很容易地测试自己的行为,一般来说,尝试这类事情要比在这里提问并等待答案更快

例如,给定以下代码:

for i in range(3):
    print(i)
    for x in ['a', 'b', 'c']:
        print(f' - {x}')
您将获得以下输出:

0
 - a
 - b
 - c
1
 - a
 - b
 - c
2
 - a
 - b
 - c

您可以使用查看代码是如何执行的。基本上,答案是肯定的。你的解释听起来是正确的。这不是特例。在这方面,for循环类似于任何其他Python语句。执行时,它会执行循环体中的每个语句。如果这些语句中有一些恰好是循环,则没有区别。它们的执行方式与所有其他语句相同。您可以很容易地创建一个简单的测试用例,例如:范围(2)中的i的
和范围(3)中的j的
在该测试用例中,
打印(i,j)
。您将获得预期的6对值。谢谢Tom。这是一个很好的逻辑思考方式。有道理,谢谢。用一个很好的例子给出了一个可靠的答案:)