1

在我编写的文件中(从实际代码中剥离)

e = numpy.zeros(4)
n = e.copy()
n[0]=e[0]
for i in range(len(e)-1)+1:
    n[i] = n[i-1]*e[i] + e[i]

当我运行 .py 文件时,Python 说:

>>> for i in range(len(e)-1)+1:
...     n[i] = n[i-1]
...
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate list (not "int") to list

奇怪的是,如果我"i=1"将(或其他值)和实际工作的一行粘贴到 Python 提示符中,则没有错误。无论如何,我没有看到任何列表;这都是 numpy 数组。

4

1 回答 1

6
range(len(e)-1) + 1

这是将一个 int ( 1) 连接到一个列表 ( range(...)) 上。

也许你打算这样做?

for i in range(1, len(e)):
于 2013-02-16T00:53:43.400 回答