我不明白 for 循环和嵌套循环

时间:2021-04-21 10:58:10

标签: python loops

这里是一个 Python 初学者 我一直在关注关于 Python 的编程与 Mosh 教程,我一直坚持使用 for 循环和嵌套循环。我已经浏览了大量关于 for 循环和嵌套循环的 YouTube 教程,但我就是不明白。

for x in items:
         for y in items

我们是在创建 x 作为一个新变量还是什么? x 有什么值,我们如何在循环中弄乱它?请简单解释一下。

2 个答案:

答案 0 :(得分:1)

假设你有一份水果清单:

fruits = ["apple", "banana", "cherry"]

这个循环遍历列表中的项目:

for x in fruits:
    print(x)

并给出这个输出:

apple
banana
cherry

这就是循环内部实际发生的事情。

首先,编译器创建一个名为 x 的新变量(它可以任意命名,但在这里称为 x)。

然后编译器查看列表 fruits(或您循环通过的任何列表)中的第一个值,在本例中为 apple,并将其分配给 x

for x in fruits: 

这意味着当你运行

print(x) # really means print("apple")

由于 x 持有值 apple,因此将输出 apple

现在编译器到达循环的末尾,所以它再次从下一个元素开始。

print(x) # really means print("banana")        

x 被赋予列表中的下一个值,即 banana,因此这次它输出 banana,依此类推。

您可以对循环内的变量 x 做任何您想做的事情,就像您可以对您自己创建的变量做任何您想做的事情一样,例如 my_fruit = "grapefruit"

例如:

my_fruit = "grapefruit"
print(my_fruit)
my_fruit.replace("a", "x")

# output:
# grapefruit
# grxpefruit

与以下内容相同:

fruits = ["apple", "banana", "cherry"]
for x in fruits:
    print(x)
    x.replace("a", "x")

# output:
# apple
# xpple
# banana
# bxnxnx
# cherry
# cherry

希望为您澄清循环!我记得我在学习循环时对 x 变量(或其等效变量)感到非常困惑......

答案 1 :(得分:0)

循环可以嵌套在 Python 中,就像其他编程语言一样。

嵌套循环是发生在另一个循环中的循环,在结构上类似于嵌套的 if 语句。它们的构造如下:

for [first iterating variable] in [outer loop]: # Outer loop
    [do something]  # Optional
    for [second iterating variable] in [nested loop]:   # Nested loop
        [do something]

程序首先遇到外循环,执行它的第一次迭代。第一次迭代触发内部嵌套循环,然后运行完成。

然后程序返回到外循环,完成第二次迭代并再次触发嵌套循环。同样,嵌套循环运行到完成,程序返回到外循环,直到序列完成或中断或其他语句中断过程。

示例:

在此示例中,外循环将遍历名为 num_list 的整数列表,内循环将遍历名为 alpha_list 的字符串列表。

num_list = [1, 2, 3]
alpha_list = ['a', 'b', 'c']

for number in num_list:
    print(number)
    for letter in alpha_list:
        print(letter)
 

输出:

1
a
b
c
2
a
b
c
3
a
b
c

输出说明程序通过打印1来完成外循环的第一次迭代,然后触发内循环的完成,连续打印a, b, c并对每个项目执行相同的过程num_list

相关问题