web-dev-qa-db-ja.com

Python sum()関数とリストパラメーター

リスト内の値を合計するには、sum()関数を使用する必要があります。これは、「for」ループを使用して番号を手動で追加することとは異なることに注意してください。次のような単純なものになると思いましたが、「TypeError: 'int' object is not callable」を受け取ります。

numbers = [1, 2, 3]
numsum = (sum(numbers))
print(numsum)

開始パラメーターの設定、マップの定義、sum()内の 'for'構文の組み込みを含む他のいくつかのソリューションを調べましたが、これらのバリエーションには運がなく、何が起こっているのかわかりません。誰かが私にリストを合計するsum()の可能な限り簡単な例を提供し、なぜそれがそうであるように行われるのかの説明を提供できますか?

16
Ro Mc

変数sumを他の場所で使用しましたか?それはそれを説明するでしょう。

>>> sum = 1
>>> numbers = [1, 2, 3]
>>> numsum = (sum(numbers))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable

名前sumは関数を指すことはなくなり、整数を指すようになりました。

解決策:変数sum、_totalなどを呼び出さないでください。

46
flornquake

最後の答えでは、数字からリストを作成する必要はありません。それはすでにリストです:

numbers = [1, 2, 3]
numsum = sum(numbers)
print(numsum)
2
Bob McCormick
numbers = [1, 2, 3]
numsum = sum(list(numbers))
print(numsum)

あなたがリストを要約しようとしている場合、これは動作します。

2
jasper