2017-12-09 4 views
2

私はかなり簡単なことをしようとしていますが、それを得ることはできません。私は値がリストである辞書を持っています。私は、リストを合計し、値をintと同じキーに戻すようにしようとしています。下のコードを使用すると、最初の行は何もしません。二番目の行は、値をリストに戻します。他のすべての物事を試してみた私にエラーを与えているだけiterableを割り当てることができます。私が知る限り、iterablesは、intではなく、リスト上で反復できるものです。なぜiterableのみを使用できますか?この問題をどうやって解決できますか?辞書イム使用して、ここで(https://gist.github.com/ishikawa-rei/53c100449605e370ef66f1c06f15b62eリストのdict値を1つの整数に集計する

for i in dict.values(): 
    i = sum(i) 
    #i[:] = [sum(i)/3600] # puts answer into dict but as a list 
+0

値がキーを指していないので、これは機能しません。キーは元の値に戻ってしまいます。また、値を反復しているので、反復されているものを変更するのは一般的には良い習慣ではありません。 – ShpielMeister

答えて

6

であるあなたは、単純な辞書内包表記を使用することができ、あなたのdictの値は、すべてのリスト

{k:sum(v) for k, v in dict.items()} 
+0

このソリューションは新しい辞書を作成します – ShpielMeister

0
for i in dikt.keys(): 
    dickt[i] = sum(dict[i])) 

であればところで、辞書がタイプです。変数名として使用しないことをお勧めします

関連する問題