如果我使用範圍(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提供了有關問題格式的答案和指導。 –