2017-11-24 16 views
-2

だから私はこのようになります一覧があります。Pythonでリストからすべての値の合計を作る方法

sum1 = sum(int(i['Value1']) for i in values) 

values = { '123456':['Value1':41235534], '543123':['Value1':12958362], '34573':['Value1':1295937]}

をそして私はこのような金額を作るしようとすると、

「TypeError: 'int'オブジェクトはサブスクリプトできません」というメッセージが表示されます。 私は何が間違っていますか?

+1

構文エラー。実際のコードを投稿してください。 – Blorgbeard

+0

これは辞書であり、リストではない – Michael

答えて

2

投稿した構造が有効なPythonではありません。代わりに、それはそうのように宣言する必要があります。

values = { 
    '123456':{'Value1':41235534}, 
    '543123':{'Value1':12958362}, 
    '34573':{'Value1':1295937}} 

sum1 = sum(b['Value1'] for a, b in values.items()) 
+0

あなたはもっと短くてpythonicな方法でsum(b [values1 '] for values.values())を作成することができました –

0

そのまま、valuesが無効な構文です。修正する:

values = {'123456':{'Value1':41235534},'543123':{'Value1':12958362},'34573':{'Value1':1295937}} 

sum(j['Value1'] for i,j in values.items()) 
関連する問題