如何使用python获取表中元素的索引?

如何使用python获取表中元素的索引?,python,python-2.7,Python,Python 2.7,我认为这个问题很简单,不需要进一步解释。基本上,如果我有一个表,如何根据元素获取行和列的编号。例如: 0 | 1 | 2 ----------- 1 | a | b ----------- 2 | c | d 如何输入b并得到1,2?只需遍历数据,直到找到所需的元素: def find_index(T,x): for i in range(len(T)): for j in range(len(T[i]): if T[i][j] == x:

我认为这个问题很简单,不需要进一步解释。基本上,如果我有一个表,如何根据元素获取行和列的编号。例如:

0 | 1 | 2
-----------
1 | a | b
-----------
2 | c | d

如何输入b并得到1,2?

只需遍历数据,直到找到所需的元素:

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

只需迭代数据,直到找到所需的元素:

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

这将返回一个元组列表,每个元组包含一个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

这将返回一个元组列表,每个元组包含一个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

由于表不是一个内置的数据结构,您应该显示您当前的代码,这样我们可以帮助您抱歉地说,不,问题并不简单。这是什么样的桌子?这是一个文本文件,它是你的文本吗?这是一张名单吗?它是一个二维数组吗?如果有重复的条目,结果应该是什么样的?对不起,我希望我现在已经解释得更好了@albert我假设没有重复的条目。表的大小是多少?在一个相当大的表中进行迭代可能会非常慢。由于表不是内置的数据结构,您应该显示您当前的代码,以便我们可以帮助您抱歉地说,不,问题并不简单。这是什么样的桌子?这是一个文本文件,它是你的文本吗?这是一张名单吗?它是一个二维数组吗?如果有重复的条目,结果应该是什么样的?对不起,我希望我现在已经解释得更好了@albert我假设没有重复的条目。表的大小是多少?遍历一个相当大的表可能会非常慢。