我有以下代码:
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)
