4

我想知道是否有任何命令可以自动选择元组中的下一项而无需我输入?

例如。

nul = 0

noofvalue = 5

value = ['a', 'b', 'c', 'd', 'e']

for nul < noofvalue:

file.write(value[0])

我可以在这里使用什么命令将 1 添加到“值”,这样当文件循环时,它不使用 value [0],而是使用 value [1]?

nul = nul + 1

我已经用谷歌搜索了答案并进行了搜索,但我不明白他们在说什么,因为我对计算机编码非常陌生,所以请原谅我的无知。

4

3 回答 3

3

我想你想要的是enumerate()。我将添加我自己的示例,因为您的示例有点奇怪:

>>> L = ['a', 'b', 'c', 'd', 'e']
>>> for index, value in enumerate(L):
...     try:
...         print L[index+1] # Prints the next item in the list
...     except IndexError:
...         print 'End of the list!'
... 
b
c
d
e
End of the list!
于 2013-09-25T04:26:19.007 回答
1

在 Python 中,您可以以相同的方式迭代列表或元组:

for x in value:
    do_something(x)
于 2013-09-25T05:11:50.847 回答
0

首先value = ['a', 'b', 'c', 'd', 'e']不是元组,它是一个列表。在 Python 中迭代 for 循环,您可以简单地执行以下操作:

for v in value:
 print v # file.write(v)

(我认为你有 C 背景,我们需要索引来访问元素和迭代数组)。

如果您还想要索引,请使用在列表中返回 (index, value) 对的`enumerate(any_sequence)函数,

>>> list(enumerate(value))
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e')]

所以你可以这样做:

for i, v in enumerate(value):
  print  i, v

当然,如果您想明确使用索引,请执行以下操作:

index = 0 
for v in value:
 print index, v
 index += 1

但这不是 Pythonic 的方式,因此一般情况下并不可取。

于 2013-09-25T04:36:07.423 回答