我想知道是否有任何命令可以自动选择元组中的下一个项目而不必输入它?
例如
nul = 0
noofvalue = 5
value = ['a', 'b', 'c', 'd', 'e']
for nul < noofvalue:
file.write(value[0])
我可以在这里使用什么命令将'1'加1,这样当文件循环时,而不是使用值[0],它会使用值[1]?
nul = nul + 1
我已经搜索了答案并进行了搜索,但我不明白他们在谈论什么,因为我对计算机编码非常陌生,所以请原谅我的无知。
答案 0 :(得分: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!
答案 1 :(得分:1)
在Python中,您可以以相同的方式迭代列表或元组:
for x in value:
do_something(x)
答案 2 :(得分:0)
首先value = ['a', 'b', 'c', 'd', 'e']
不是tuple,而是list。在Python中迭代for循环你可以简单地做:
for v in value:
print v # file.write(v)
(我认为你有C背景,我们需要索引来访问元素并迭代数组)。
如果你想要索引,那么使用在列表中返回(索引,值)对的use `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的方式,所以不太优选。