【发布时间】:2020-06-24 05:41:48
【问题描述】:
给定这样的列表:
grid = [['R', 'S', 'S', 'I', 'Q', 'A', 'S', 'T', 'K'],
['Q', 'O', 'E', 'A', 'I', 'E', 'S', 'T', 'A'],
['D', 'B', 'M', 'X', 'F', 'E', 'O', 'K', 'I']]
我可以像这样访问第一行第三列:
print(grid[1][3])
但我真正喜欢做的是遍历网格中的值并获得它们的第行和第列值。 我尝试了我的知识,这是我的代码:
word = "A"
items = []
for rows in grid:
for column in rows:
if word == column:
items.append([grid.index(match), match.index(string)])
但是当我打印它时:[[0, 5], [1, 3], [1, 3]]。 我没有将 [1, 8] 排在第三位,而是得到了矩阵重复之前的值。 我尝试了很多次,但我失败了。请帮帮我。
谢谢。
【问题讨论】:
-
你要查看的是
enumerate -
使用“for index,values in enumerate(grid)”而不是“for value in grid”。行也是如此。
-
如果您阅读了
.index的文档,您就会清楚为什么它的行为与您观察到的一样。