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"(または他の値) と実際に動作する 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 に答える