我有以下代码:
p1 = np.array([[[[[[[[[[0.]*2]*2]*2]*2]*2]*2]*2]*2]*2]*2)
s = [0]*10
#
# Do something with s
#
p1[s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],s[8],s[9]] += 1
有没有更聪明的方法:
- 创建没有所有这些括号的 p1,以及
- 使用字符串或列表访问 p1 的组件?
我的想法是这样的:
p1[s] += 1
或:
p1[*s] += 1
例如,如果我想要 N 个索引而不是 10 个索引怎么办?
最佳答案
np.array([[[[[[[[[[0.]*2]*2]*2]*2]*2]*2]*2]*2]*2]*2)
最好写成:
np.zeros((2,2,2,2,2,2,2,2,2,2))
或者有十个 2
:
np.zeros((2,)*10)
关于python - 智能处理具有多个索引的 Python 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29857945/