介绍
还有另一种类型的循环。该循环旨在迭代数据集。是的,清单。不像while循环,这些for循环基于要迭代的数据集具有定义的长度。
通常,for循环用于访问和修改列表中的每个元素。为此,它们将每个元素临时表示为仅在循环内使用的新变量。
for循环的结构与while循环。他们以单词开头for,其后是为循环创建的临时变量。然后是关键字in指定要使用的数据集,然后是数据集本身,最后是冒号。
适用范围
有一种方法叫做range()要么采用一个数字,然后就像一个从零开始直到指定的数字之前的数字的列表,或者采用两个以逗号分隔的数字,并且像一个从第一个数字开始并列出所有数字直到其之前的数字的切片最后一个。
下面是一个例子for使用的循环range()并将其中的每个数字乘以2。
for x in range(1, 11):
print(x * 2)
它没有改变任何东西。它只打印出结果。但是,它可以用于创建新列表。
times_two = []
for x in range(1, 11):
times_two.append(x * 2)
print(x * 2)
print(times_two)
即使您未以完整列表开头,也可以使用range()创建一个。分解一下;range()输出从1到10的每个数字。然后,将每个数字分别临时分配给x。的结果x * 2被传递给append()新创建的方法times_two清单。
对于列表
range()很棒,但是只有在处理数字时才真正有用。大多数情况下,您会将现有列表传递给for环。看一下这个大写Linux发行版列表名称的示例。
# Create the list of distributions
linux_distros = ['Debian', 'Ubuntu', 'Mint', 'Fedora', 'CentOS', 'OpenSUSE', 'Slackware', 'Arch', 'Gentoo']
distros_caps = []
# loop through them, capitalize, insert into new
for distro in linux_distros:
print(distro.upper())
distros_caps.append(distro.upper())
# print the original
print(linux_distros)
# print the new list
print(distros_caps)
这个简单for从列表中获取每个分配名称,并将其暂时分配给distro变量,调用upper()方法,以大写并打印它,然后再次调用该方法以将其追加到新方法上distros_caps清单。最后,它打印出两个列表。
适用于多维列表
for循环遍历多维列表也没有问题。这样做涉及嵌套for彼此循环。在二维列表中,外部for循环遍历多维列表中的列表以及内部for循环遍历每个列表的元素。通过一些实际的运行代码可以轻松得多。
# Create original list
number_sets = [[2, 4, 6], [3, 6, 9], [4, 8, 12]]
# Create empty list to copy into
square_sets = []
# Start outer for loop to iterate over inner lists
for number_set in number_sets:
# Add a new empty list to the new list for each iteration
square_sets.append([])
# Start inner for loop to iterate over numbers and append them into the new list
for number in number_set:
print("The original number is %d, and the result is %d." % (number, number ** 2))
square_sets[number_sets.index(number_set)].append(number ** 2)
print(square_sets)
上面的示例可以更好地细分其执行的时间。最好的想法是,您需要一个for循环遍历外部列表,另一个遍历每个内部列表。
内部的最后一行for可能会使某些人绊倒,但这并不像看起来那样复杂。它所做的就是使用append()添加当前值number平方到新列表,square_sets。方括号内是对index(),目前number并返回其在原始列表中的位置。这样做是为了确保将每个平方数添加到内部的正确列表中square_sets。
结论
您可能会发现for循环比while循环。它们倾向于经常使用。清单上有三本指南是有原因的。它们很重要。他们经常使用。for循环与列表一起进入hand-in-hand。它们绝对是从列表中获取所有信息的最佳方法。 WordPress的最关键组成部分之一是其自定义for它用于显示页面上几乎所有内容的循环。如果您仍然不确定for循环,您需要返回并再次查看列表,返回本指南并运行一些示例。进行实验,直到您感到自信。如果没有,那就没有意义了。
目录