我是python的新手,我想知道倒数计算数组的值:
a = [1, 2, 3, 4]
def countdown_reversed(lists):
for x in reversed(lists):
print(x) # why is it x and not lists[x]?
countdown_reversed(list)
答案 0 :(得分:1)
来自Python文档(https://docs.python.org/2/tutorial/controlflow.html)
Python中的for语句与您在C或Pascal中使用的语句略有不同。而不是总是迭代数字的算术级数(如在Pascal中),或者让用户能够定义迭代步骤和暂停条件(如C),Python的for语句迭代任何序列的项目(列表或字符串),按照它们出现在序列中的顺序。
如果您需要当前列表元素的索引,可以使用相同网址的片段:
a = ['Mary', 'had', 'a', 'little', 'lamb']
for i in range(len(a)):
print i, a[i]
结果:
0 Mary
1 had
2 a
3 little
4 lamb
答案 1 :(得分:0)
您使用的for
循环基于集合中的元素而不是索引,例如:
chars = ['a', 'b', 't']
for char in chars:
print char
for i in range(len(chars)):
print chars[i]
答案 2 :(得分:0)
使用时
for a in b
python一次返回b中的每个项而不是索引。
如果你需要索引,那么你可以使用范围函数-1作为第三个可选变量,每次倒数1。请注意,因为在python范围内将从起始值开始到不包括最后一个,因此为什么在此代码中到处都有-1
list = [1, 2, 3, 4]
def countdown_reversed(lists):
for x in range(len(lists)-1,-1,-1):
print(x) # will return index
print(lists[x]) # will return value
countdown_reversed(list)