在for循环或while循环中使用列表

时间:2013-07-22 11:35:05

标签: python list loops for-loop while-loop

所以我对这两个循环有些不了解

如果我有一个名为数字的列表

使用for循环找到最大数字我可以:

for number in numbers:

    if number > largest:

        largest = number

但为什么不:

 if number[index] > largest:

     largest = number[index]

工作?

并且它与while循环相反,所以如果我想对列表执行某些操作,例如

将值替换为另一个,number[index]作品和数字不起作用。

2 个答案:

答案 0 :(得分:1)

因为您已经浏览了列表中的每个元素,而不是实际的列表本身。因此,您不需要索引并访问您已经循环使用的相同元素。

>>> for i in range(5):
...     print i
... 
0
1
2
3
4

查看i不是列表而是列表中的单个元素?做number[index]只是毫无意义:p

如果您想要索引,可以使用enumerate

>>> L = ['one', 'two', 'three']
>>> for i, j in enumerate(L):
...     print i, j, L[i]
... 
0 one one
1 two two
2 three three

对于while循环,嗯,这不是你要使用的情况。使用for循环;)。

答案 1 :(得分:0)

for number in numbers将元素分配给第一个。所以number这里是numbers的元素。如果number确实是一个数字。使用number[i]时会出错。这是Python的语法。但不适用于while。您必须使用索引来访问列表中的元素。