Python列表索引

时间:2012-03-28 19:41:00

标签: python list for-loop

我有一个双列表,我想知道什么是获取数组中零的索引的最佳方法

board =[[1,2,0],
    [2,1,2],
    [1,1,0]]

for boxes in board:
    if 0 in boxes:
        print boxes
像这样,但我想要回来 [0,2] [2,2]

2 个答案:

答案 0 :(得分:4)

你的问题非常含糊(内部列表中的多个零点怎么样),如果你正在寻找其他内容,请随时发表评论:

zeroes = []
for x, box in enumerate(board):
    if 0 in box:
        zeroes.append((x, box.index(0)))
print zeroes

使用您的给定列表,打印

[(0, 2), (2, 2)]

更短,更pythonic版本将使用这样的列表理解:

zeroes = [(x, box.index(0)) for x, box in enumerate(board) if 0 in box]

答案 1 :(得分:3)

您可以使用列表理解:

[(i, j) for i in range(3) for j in range(3) if board[i][j] == 0]

如果存在,这将包括每行多个零。