ループを使ってdata1data8までの辞書型の配列に入っている値のデータの合計をsum1sum8に入れたいです.
一応このようなコードを書いたのですが,うまくいきません..
for i in range(8):
sum=sum("data"+str(i))
発生している問題・エラーメッセージ
TypeError Traceback (most recent call last)
<ipython-input-63-e005b4d56c98> in <module>
1 for i in range(8):
----> 2 sum=sum("data"+str(i))
TypeError: unsupported operand type(s) for +: 'int' and 'str'
補足情報
data1={6: [69, 6, 14, 15, 79, 16, 53, 22, 25, 63]}
このように値の方にリストとして8つの数字が入っており,この合計値をsum1~sum8に代入したいです.
申し訳ないですが,どなたか解決方法を教えていただきたいです.
> data1={6: [69, 6, 14, 15, 79, 16, 53, 22, 25, 63]}
> このように値の方にリストとして8つの数字
値のリストとしては10個の数字(整数)になっていますが。。。
辞書型のdataの要素数が8個(data1からdata8)で、それぞれに10個の値リストがある、と言うことでしょうか?
> data1={6: [69, 6, 14, 15, 79, 16, 53, 22, 25, 63]}
各辞書に要素は1つずつしか入っていないのでしょうか?
またその要素(合計したいリスト)のキー値は全て 6 なのでしょうか?
TypeError: unsupported operand type(s) for +: 'int' and 'str'
↓
http://cointoss.hatenablog.com/entry/2013/01/10/123733
"data"+str(i)の結果は文字列ですね。だからsum()は出来ません。
配列の合計値が欲しいのなら、辞書から配列を抜き出してください。
回答2件
あなたの回答
tips
プレビュー