首页 > 解决方案 > 为什么这个索引函数显示的是 2 而不是 4?

问题描述

当我运行以下代码时,我会打印出 0,1,2,3,2。当它应该是 4 时,为什么将 2 打印为最后一个数字?index 函数应该打印大列表中每个列表的索引,对吗?顺便说一句,使用 Python

 game_board = [["o", 1, 0, 0, 0],  
              [2, 2, 0, 0, 0],
              [0, 0, 2, 2, 2],
              [0, 0, 2, "o", 2],
              [0, 0, 2, 2, 2]]

for i in game_board:
    print(game_board.index(i))

标签: pythonindexing

解决方案


使用列表的索引函数返回项目的第一次出现。这是一个简化的示例:

game_board = [0,2,5,2,3]
game_board.index(2)
>>> 1

这将返回第一次在您的列表中看到第二个。

在您的示例中,该行

[0, 0, 2, 2, 2] 

位于索引 2 和索引 4。当遍历每个列表并查找其索引时,行 0、1、2 和 3 正确返回,但由于索引 4 处的行与索引 2 处相同,它将返回数字 2 .


推荐阅读