我认为这个问题非常简单,无需进一步解释。基本上,如果我有一个表,我怎么能根据元素得到行号和列号。例如:
0 | 1 | 2
-----------
1 | a | b
-----------
2 | c | d
我如何输入b并获得1,2?
答案 0 :(得分:3)
只需遍历您的数据,直到找到所需的元素:
def find_index(T,x):
for i in range(len(T)):
for j in range(len(T[i]):
if T[i][j] == x:
return i,j
答案 1 :(得分:1)
这将返回一个元组列表,每个元组包含一个x和y坐标。它在列表列表上运行,因此基本上是一个二维列表。我相信这就是你想要的。
def find_all(list_2d, value):
for row_index, row in enumerate(list_2d):
for col_index, val in enumerate(row):
if val == value:
yield col_index, row_index
这只是迭代整个“表格”并且每次匹配时产生坐标。
如果你不关心重复,只想获得第一个坐标,那么这样的东西就可以了
def find_first(list_2d, value):
for row_index, row in enumerate(list_2d):
try:
return row.index(value), row_index
except:
pass