【发布时间】:2022-01-05 03:26:08
【问题描述】:
短版:给定一个包含两个元素 [i, j] 的列表,我如何获得二维数组的 i、j -元素而不是 i, j 行:arr[[i,j]] 到 arr[i,j]。
我见过使用*list 的类似案例,但我并不完全理解该运算符的工作原理。
更深层次的背景:
我有一个返回嵌套列表的函数,其中每个子列表是要在数组中使用的一对索引:
grid = np.full((3,3), 1)
def path():
...
return [[i_1, j_1], [i_2, j_2], ...]
for i in path():
grid[path()[i]] = 0
但由于path()[i] 是一个列表,grid[path()[i]] == 0 将两个行 设置为零,而不是单个元素。如何防止这种情况发生?
虽然不是绝对必要的,但更快的解决方案会更好,因为此操作需要多次执行。
【问题讨论】: