1

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

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

4

3 回答 3

1

假设您不想重新发明轮子,我相信这个问题有您正在寻找的答案:是否有一个 Numpy 函数可以返回数组中某物的第一个索引?

import numpy as np
a = np.array([[1,2,4],[4,5,6]])
item = 4
row_indices, col_indices = np.where(a == item)
于 2013-03-24T00:32:39.763 回答
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
于 2013-03-23T21:28:39.653 回答
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
于 2013-03-23T21:29:26.227 回答