python
有一个多维列表,和一些下标的列表,比如[[0,0,1],[1,2,0],[0,1,3],...]
维度不确定,想取出这个多维列表里对应这些下标的值,或者给这个多维列表对应下标赋值
能做到吗
1
ruxuan1306 2021-12-25 23:06:59 +08:00
如果维度规整,直接转成 numpy 数组下标操作即可。
所谓规整,就是所有元素在某个维度不能参差不齐。 |
2
zxCoder OP @ruxuan1306 在想有没有原生 python 的写法,暴力也行
|
3
ruxuan1306 2021-12-27 19:01:02 +08:00
```Python
import numpy as np nparr = np.arange(24).reshape(3,4,2) arr = nparr.tolist() print(nparr[0,2,1]) nparr[0,2,1] = 100 print(nparr) print(arr[0][2][1]) arr[0][2][1] = 100 print(arr) ``` ``` 5 [[[ 0 1] [ 2 3] [ 4 100] [ 6 7]] [[ 8 9] [ 10 11] [ 12 13] [ 14 15]] [[ 16 17] [ 18 19] [ 20 21] [ 22 23]]] 5 [[[0, 1], [2, 3], [4, 100], [6, 7]], [[8, 9], [10, 11], [12, 13], [14, 15]], [[16, 17], [18, 19], [20, 21], [22, 23]]] ``` |
4
ruxuan1306 2021-12-27 19:03:52 +08:00
可以用原生等价实现,只不过 numpy 的占内存更小。
|