所以我正在做一个项目,我有一个二维数组,我需要找到放置在第二维上的元素的位置,而不知道它的第一维的索引。
我知道我可以遍历这些部分,检查是否list[x].index(y)
不是值错误,但这使我的代码看起来不那么优雅,我想知道是否有更好的方法来做到这一点,比如 2d .index 方法?
假设您不想重新发明轮子,我相信这个问题有您正在寻找的答案:是否有一个 Numpy 函数可以返回数组中某物的第一个索引?
import numpy as np
a = np.array([[1,2,4],[4,5,6]])
item = 4
row_indices, col_indices = np.where(a == item)
尝试这样的事情。
>>> 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
如果所有行的长度相等,则可以使用以下代码:
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