我正在从Codeacademy网站学习python,我遇到了循环部分,这对我来说有点模糊和困难。当网站想要解释for循环如何工作时,它会从列表中获得帮助。像这样:
for i in list34:
#Some codes
该网站表示,当您为列表运行for loop
语句时,for循环将遍历列表中的元素,然后将其保存在i
变量中。
我只是没有获得迭代概念!
这是什么意思?
答案 0 :(得分:1)
for i in list34:
#Some codes
此代码段将遍历list34
的所有项目(即迭代通过它们)。
在每次迭代(循环的“步骤”)中,i
将从列表中分配下一个值,因此您的代码可以对其执行某些操作(例如,将其打印出来)。
答案 1 :(得分:1)
也许一些代码示例会有所帮助!
>>> li = [4,3,1,2,0]
>>> for x in li:
... print(x)
...
4
3
1
2
0
>>>
for循环的作用是,一次只需要列表中的一个项目,并将该项目分配给变量x
。由于for循环将列表项逐个,因此称为遍历/ on 列表。
答案 2 :(得分:0)
遍历列表或任何数据结构,意味着它只需要从给定结构中逐个接受每个元素,并对其执行某些操作。
在这种情况下,您拥有i
元素,并在for循环中对它们进行处理。 for语句确保处理列表的每个元素。
答案 3 :(得分:0)
Python中的for语句与您在C或Pascal中使用的语句略有不同。而不是总是迭代数字的算术级数(如在Pascal中),或者让用户能够定义迭代步骤和暂停条件(如C),Python的for语句迭代任何序列的项目(列表或字符串),按照它们出现在序列中的顺序。例如(没有双关语):
# Measure some strings:
words = ['cat', 'window', 'defenestrate']
for w in words:
print w, len(w)
如果您需要修改在循环内迭代的序列(例如复制所选项目),建议您先复制。迭代序列不会隐式地复制。切片表示法使这一点特别方便:
for w in words[:]: # Loop over a slice copy of the entire list.
if len(w) > 6:
words.insert(0, w)
words
如果你需要迭代一系列数字,内置函数range()会派上用场。它生成包含算术进度的列表:
range(10)
给定的终点永远不会是生成列表的一部分; range(10)生成10个值的列表,长度为10的序列项的合法索引。可以让范围从另一个数字开始,或者指定不同的增量(甚至是负数;有时这称为'步骤'):
range(5, 10)
range(0, 10, 3)
range(-10, -100, -30)
要遍历序列的索引,可以按如下方式组合range()和len():
a = ['Mary', 'had', 'a', 'little', 'lamb']
for i in range(len(a)):
print i, a[i]
阅读更多:docs.python.org