我有一个数组数组pdf
len(pdf) = 300
pdf[0]
是len(pdf[0]) = 300
我想要做的是,取sum of pdf[0][50:100]
并对pdf[1][50:100]
重复相同的操作,依此类推至pdf[300][50:100]
。
我尝试的是:
for i,a in enumerate(pdf):
result.append(a[i][50:100].sum())
但我收到错误:
的 IndexError: invalid index to scalar variable
答案 0 :(得分:2)
如果您只需要构建一个简单的列表,那么List Comprehension就是您的朋友:
result = [i[50:100].sum() for i in pdf]
应该这样做。
在你的for循环中,
a
是pdf[0], pdf[1]...
i
为0,1...
所以你引用了pdf[0][0][50:100], pdf[1][1][50:100]...
因此跟踪了。
这意味着您也可以将循环更改为:
result = []
for a in (pdf):
result.append(a[50:100].sum())
...但这就是列表理解的目的:)