如果我使用范围(0,le),为什么第一个代码没有给出5,6,1所需的结果。我不得不使用(-1,le)来获取最后一列的所有值。如果我使用正常列表for循环工作正常。在Python列表中查询for for循环列表
def result(game):
print game
le = len(game)-1
print le
for i in range(0,le):
m = game[i][le]
print m
winner = [[2, 2, 5],[2, 1, 6],[2, 1, 1]]
result(winner)
输出:
[[2, 2, 5], [2, 1, 6], [2, 1, 1]]
2
5
6
第二个版本:
def result(game):
print game
le = len(game)-1
print le
for i in range(-1,le):
m = game[i][le]
print m
winner = [[2, 2, 5],[2, 1, 6],[2, 1, 1]]
result(winner)
输出:
[[2, 2, 5], [2, 1, 6], [2, 1, 1]]
2
1
5
6
感谢所有为你的答案。
一个关于同一代码的其他问题 -
你能澄清另一件事给我吗?说如果我在上面的代码中使用以下内容 - >
le = len(game)
print le
for i in range(0,le):
为什么我会收到以下错误?
Traceback (most recent call last):
File "main.py", line 10, in <module>
result(winner)
File "main.py", line 6, in result
m = game[i][le]
IndexError: list index out of range
你应该把你的输出这里与链接到另一个网站的截图。 – AChampion
'range(start,stop)'不包含'stop'值。所以你的'le'就是一个。范围(0,le + 1)'可以解决你的问题。 – AChampion
非常感谢@AChampion提供了有关问题格式的答案和指导。 –