for循环遍历列表

时间:2014-06-28 16:47:39

标签: python loops iteration

我正在从Codeacademy网站学习python,我遇到了循环部分,这对我来说有点模糊和困难。当网站想要解释for循环如何工作时,它会从列表中获得帮助。像这样:

for i in list34:
    #Some codes

该网站表示,当您为列表运行for loop语句时,for循环将遍历列表中的元素,然后将其保存在i变量中。

我只是没有获得迭代概念!

这是什么意思?

4 个答案:

答案 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