1.8 字典的运算

本文探讨如何在Python数据字典中执行计算操作,包括寻找最小值、最大值及进行排序等。通过引用《Python Cookbook(第3版)高清中文完整版》中的相关内容,为读者提供实践指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题
怎样在数据字典中执行一些计算操作(比如求最小值、最大值、排序等等)?

prices = {
'ACME': 45.23,
'AAPL': 612.78,
'IBM': 205.55,
'HPQ': 37.20,
'FB': 10.75
}
# 为了对字典执行计算操作,通常需要使用Zip()函数先将键和值反转过来。
min_price = min(zip(prices.values(), prices.keys()))
max_price = max(zip(prices.values(), prices.keys()))
print(min_price) # ->(10.75, 'FB')
print(max_price) # ->(612.78, 'AAPL')

#可以使用zip()和sorted()函数来排序字典数据:
prices_sorted=sorted(zip(prices.values(), prices.keys()))
print(prices_sorted)   # ->[(10.75, 'FB'), (37.2, 'HPQ'), (45.23, 'ACME'), (205.55, 'IBM'), (612.78, 'AAPL')]

# 需要注意的是zip()函数创建的是一个只能访问一次的迭代器
prices_and_names = zip(prices.values(), prices.keys())
print(min(prices_and_names))  # ->(10.75, 'FB')
# print(max(prices_and_names))   # ->ValueError: max() arg is an empty sequence
print("***************************")
# min() 和 max() 函数中提供 key 函数参数来获取最小值或最大值对应的键的信息。
print(min(prices,key=lambda  k:prices[k]))
# 但是想要得到最小的值,又得执行一次查询操作。
print(prices[min(prices,key=lambda k:prices[k])])   # ->10.75
print("***************************")
print(min(zip(prices.values(),prices.keys())))  # ->(10.75, 'FB')

参考文档:《python cookbook(第3版)高清中文完整版(###).pdf》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值