获取二维数组中元素索引的最佳方法是什么?

时间:2013-03-23 21:19:35

标签: python list

所以我正在开发一个我有二维数组的项目,我需要找到放在第二维上的元素的位置,而不知道它的第一个维度的索引。

我知道我可以迭代这些部分,检查list[x].index(y)是不是值错误,但这使我的代码看起来不那么优雅,我想知道是否有更好的这样做的方法,比如2d .index方法?

3 个答案:

答案 0 :(得分:1)

假设你不想重新发明轮子,我相信这个问题有你想要的答案:Is there a Numpy function to return the first index of something in an array?

import numpy as np
a = np.array([[1,2,4],[4,5,6]])
item = 4
row_indices, col_indices = np.where(a == item)

答案 1 :(得分:0)

尝试这样的事情。

>>> l = [[1,2,3],[4,5],[6,7,8,9]]
>>> x = 1
>>> y = 2
>>> v = l[x][y] if len(l) > x and len(l[x]) > y else None
>>> v is None
True

答案 2 :(得分:0)

如果所有行的长度相等,则可以使用以下代码:

index_2d = [item for row in list for item in row].index(y)
index_row = index_2d / ROW_LENGTH
index_col = index_2d % ROW_LENGTH