Skip to main content
 首页 » 编程设计

python之智能处理具有多个索引的 Python 数组

2025年05月04日13kenshinobiy

我有以下代码:

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 

有没有更聪明的方法:

  1. 创建没有所有这些括号的 p1,以及
  2. 使用字符串或列表访问 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)