有没有从python字典中提取浮点值的方法?
我是Python新手,所以我仍然在为许多简单的事情而挣扎。 我有一本结构如下的词典:有没有从python字典中提取浮点值的方法?,python,json,dictionary,Python,Json,Dictionary,我是Python新手,所以我仍然在为许多简单的事情而挣扎。 我有一本结构如下的词典: <class 'dict'> {'1388534400000': {'electricity': 0.0}, '1388538000000': {'electricity': 0.0}, '1388541600000': {'electricity': 0.0},...} 假设值中始终有一个键electronic,您可以对electronic的值进行求和,如下所示 >>> d {
<class 'dict'>
{'1388534400000': {'electricity': 0.0}, '1388538000000': {'electricity': 0.0}, '1388541600000': {'electricity': 0.0},...}
假设值中始终有一个键
electronic
,您可以对electronic
的值进行求和,如下所示
>>> d
{'1388534400000': {'electricity': 0.0}, '1388538000000': {'electricity': 0.0}, '1388541600000': {'electricity': 0.0}}
>>> sum(v['electricity'] for k,v in d.items())
0.0
或者只是
>>> sum(v['electricity'] for v in d.values())
0.0
也许用后者,因为我做了一个基准
>>> import timeit
>>> timeit.timeit("sum(v['electricity'] for k,v in d.items())", setup="d={'1388534400000': {'electricity': 0.0}, '1388538000000': {'electricity': 0.0}, '1388541600000': {'electricity': 0.5}}")
0.4952311920005741
>>> timeit.timeit("sum(v['electricity'] for v in d.values())", setup="d={'1388534400000': {'electricity': 0.0}, '1388538000000': {'electricity': 0.0}, '1388541600000': {'electricity': 0.5}}")
0.4470630470004835
>>> import timeit
>>> timeit.timeit("sum(v['electricity'] for k,v in d.items())", setup="d={'1388534400000': {'electricity': 0.0}, '1388538000000': {'electricity': 0.0}, '1388541600000': {'electricity': 0.5}}")
0.4952311920005741
>>> timeit.timeit("sum(v['electricity'] for v in d.values())", setup="d={'1388534400000': {'electricity': 0.0}, '1388538000000': {'electricity': 0.0}, '1388541600000': {'electricity': 0.5}}")
0.4470630470004835
sum = 0
for key in dict:
try:
dict[key] + 2.04
sum += dict[key]
except TypeError:
pass