2 回答

TA貢獻2039條經(jīng)驗 獲得超8個贊
您不想使用該方法,原因有2個:(1)繼續(xù)搜索當前列表索引效率低下,并且(2)如果列表中有重復(fù)的條目,它將始終返回第一個匹配元素的索引,這就是導(dǎo)致您所看到的問題的原因。index
試試這個:
def showGrid(y, x, "X"):
board[y][x] = "X"
print(" x x x")
for ix, row in enumerate(board):
print(ix+1, sub("[,']", "", str(row[1:-1]))
其工作方式是為每個列表元素生成一個元組。元組的第一個值是列表索引,元組的第二個值是列表元素。enumerate

TA貢獻1757條經(jīng)驗 獲得超7個贊
board.index(row)返回找到的第一個索引。在這種情況下,第一個索引是因為它包含 。您可以通過循環(huán)遍歷一個范圍來避免使用該函數(shù),例如:row0- - -list.index
def showGrid(y, x, "X"):
board[y][x] = "X"
print(" x x x")
for i in range(len(board)):
row = board[i]
print(i+1, sub("[,']", "", str(row)[1:-1]))
添加回答
舉報