所以我对这两个循环有些不了解
如果我有一个名为数字的列表
使用for循环找到最大数字我可以:
for number in numbers:
if number > largest:
largest = number
但为什么不:
if number[index] > largest:
largest = number[index]
工作?
并且它与while循环相反,所以如果我想对列表执行某些操作,例如
将值替换为另一个,number[index]
作品和数字不起作用。
答案 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
。您必须使用索引来访问列表中的元素。