geo*_*ude 1 python arrays numpy multidimensional-array
我有以下代码:
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
Run Code Online (Sandbox Code Playgroud)
有更聪明的方式:
我想到的是:
p1[s] += 1
Run Code Online (Sandbox Code Playgroud)
要么:
p1[*s] += 1
Run Code Online (Sandbox Code Playgroud)
例如,如果我想要N个指数而不是10个指数呢?
np.array([[[[[[[[[[0.]*2]*2]*2]*2]*2]*2]*2]*2]*2]*2)
Run Code Online (Sandbox Code Playgroud)
写得更好:
np.zeros((2,2,2,2,2,2,2,2,2,2))
Run Code Online (Sandbox Code Playgroud)
或者因为有十个2s:
np.zeros((2,)*10)
Run Code Online (Sandbox Code Playgroud)