本文摘自php中文网,作者不言,侵删。
本篇文章给大家带来的内容是关于Python如何实现字典上对数据执行计算,例如:最大值、最小值、排序等,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。1、需求
我们想在字典上对数据执行各式各样的计算,例如:最大值、最小值、排序等2、解决方案
zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
假设有一个字典,在股票名称和对应价格之间做了映射:
1 2 3 4 5 6 7 | prices={
'ACME' :45.23,
'AAPL' :612.78,
'IBM' :205.55,
'HPQ' :37.20,
'FB' :10.75
}
|
为了能对字典内容做些有用的计算,通常会利用zip()函数将字典的键和值反转过来。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | prices={
'ACME' :45.23,
'AAPL' :612.78,
'IBM' :205.55,
'HPQ' :37.20,
'FB' :10.75
}
#找出价格最低放入股票
min_price=min(zip(prices.values(),prices.keys()))
print (min_price)
#找出价格最高放入股票
max_price=max(zip(prices.values(),prices.keys()))
print (max_price)
#同样,要对数据排序只要使用zip()再配合sorted()
prices_sorted=sorted(zip(prices.values(),prices.keys()))
print (prices_sorted)
|
运行结果:
1 2 3 | (10.75, 'FB' )
(612.78, 'AAPL' )
[(10.75, 'FB' ), (37.2, 'HPQ' ), (45.23, 'ACME' ), (205.55, 'IBM' ), (612.78, 'AAPL' )]
|
注意,zip()创建的迭代器只能被消费一次,例如下面
1 2 3 | zip_price=zip(prices.values(),prices.keys())
min_price=min(zip_price) #ok
min_price=min(zip_price) #报错
|
以上就是Python如何实现字典上对数据执行计算的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python语言是干什么的
单例模式中不同语言的不同实现
Python有栈吗
Python生成器定义与简单用法实例分析
Python list有序吗
Python面向对象的知识总结
解决Python大批量读写.doc文件的问题
Python 为什么不支持 switch 语句?
Python判断字符类型怎么做
Python中yield的用法介绍(附代码)
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » Python如何实现字典上对数据执行计算