使用列表中的for循环或while循环
问题描述:
所以有一些东西我不理解这两个循环使用列表中的for循环或while循环
如果我有一个列表被叫号码
发现使用人数最多的一个循环我可以:
for number in numbers:
if number > largest:
largest = number
,但为什么不:
if number[index] > largest:
largest = number[index]
工作?
,它是相对的,而循环,所以,如果我想要做的事的列表,例如
替换为其他的值,number[index]
作品和数量不工作。
答
因为您已经浏览了列表中的每个元素,而不是实际的列表本身。因此,您不需要索引并访问您已经循环的相同元素。
>>> 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-loop;)。
答
for number in numbers
将元素分配给数字一个接一个。所以number
这里是numbers
的元素。如果number
确实是一个数字。使用number[i]
将会出现错误。这是Python的语法。但不适用于while
。您必须使用索引来访问列表中的元素。
数字是值。列表名称是数字,你只能得到数组的索引。 –