Python2求和“for”循环输出

2024-04-18 06:25:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个脚本,从一个json文件中获取多个地址的余额,并将它们添加到一起,以形成最终的余额。你知道吗

这是目前为止的密码-

import json
from pprint import pprint

with open('hd-wallet-addrs/addresses.json') as data_file:    
    data = json.load(data_file)

for balance in data:
    print balance['balance']


这是json文件中的内容:

[
    {
        "addr": "1ERDMDducUsmrajDpQjoKxAHCqbTMEU9R6",
        "balance": "21.00000000"
    },
    {
        "addr": "1DvmasdbaFD7Tj6diu6D8WVc1Bkbj7jYRM",
        "balance": "0.30000000"
    },
    {
        "addr": "18xkkUi7qagUuBAg572UsmDKcZTP5zxaDB",
        "balance": "0.80000000"
    },
    {
        "addr": "1MmTDCsySdsWRVbNFwXBy2APW5kGsynkaA3",
        "balance": "0.005"
    },

]

输出如下:

21
0.3
0.8
0.005

我应该如何编辑代码以将数字相加?你知道吗


Tags: 文件fromimport脚本json密码data地址
3条回答

实现这一目标的最可行的方法是:

final_balance = sum(map(float, [balance['balance'] for balance in data]))

map()str数字列表转换为float数字,sum()将它们相加。你知道吗

您可以使用sum函数和列表理解:

sum([float(b['balance']) for b in balance])

把它们加在一起。。。你知道吗

total = 0
for balance in data:
    total += float(balance['balance'])
print total

或使用sum

print sum(float(temp_balance['balance']) for temp_balance in data)

相关问题 更多 >