gpt4 book ai didi

Python cookbook(数据结构与算法)字典相关计算问题示例

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Python cookbook(数据结构与算法)字典相关计算问题示例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例讲述了Python cookbook(数据结构与算法)字典相关计算问题。分享给大家供大家参考,具体如下:

问题:在字典上对数据执行各式各样的计算(比如求最小值、最大值、排序).

解决方案:利用zip()将字典的键-值对“反转”为值-键对序列.

例如:如下字典存放的股票名称和对应的价格:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
>>> prices = {
  'ACME' : 45.23 ,
  'AAPL' : 612.78 ,
  'IBM' : 205.55 ,
  'HPQ' : 37.20 ,
  'FB' : 10.75
}
>>> prices
{ 'HPQ' : 37.2 , 'IBM' : 205.55 , 'FB' : 10.75 , 'ACME' : 45.23 , 'AAPL' : 612.78 }
>>> min_price = min ( zip (prices.values(), prices.keys())) #注意zip(x,y)中参数的顺序
>>> max_price = max ( zip (prices.values(), prices.keys()))
>>> min_price
( 10.75 , 'FB' )
>>> max_price
( 612.78 , 'AAPL' )
>>> prices_sorted = sorted ( zip (prices.values(), prices.keys()))
>>> prices_sorted
[( 10.75 , 'FB' ), ( 37.2 , 'HPQ' ), ( 45.23 , 'ACME' ), ( 205.55 , 'IBM' ), ( 612.78 , 'AAPL' )]
>>> min_price2 = min ( zip (prices)) #错误用法
>>> min_price2
( 'AAPL' ,)
>>> max_price2 = max ( zip (prices)) #错误用法
>>> max_price2
( 'IBM' ,)
>>> min_price3 = min ( zip (prices.keys(), prices.values())) #zip()参数顺序不对,获取错误的值
>>> min_price3
( 'AAPL' , 612.78 )
>>> max_price3 = max ( zip (prices.keys(), prices.values())) #zip()参数顺序不对,获取错误的值
>>> max_price3
( 'IBM' , 205.55 )
>>>

进行这些计算时,请注意zip()创建了一个迭代器,它的内容只能消费一次。例如:

?
1
2
3
4
5
6
7
8
9
10
11
>>> pirces_and_names = zip (prices.values(), prices.keys())
>>> pirces_and_names
< zip object at 0x023BDFA8 >
>>> min (pirces_and_names)
( 10.75 , 'FB' )
>>> max (pirces_and_names)
Traceback (most recent call last):
  File "<pyshell#25>" , line 1 , in <module>
  max (pirces_and_names)
ValueError: max () arg is an empty sequence
>>>

注意:当涉及(value,key)对的比较时,碰巧有多个条目拥有相同的value值,那么此时key将用来作为判定结果的依据.

?
1
2
3
4
5
6
>>> prices = { 'AAA' : 45.23 , 'ZZZ' : 45.23 }
>>> min ( zip (prices.values(), prices.keys()))
( 45.23 , 'AAA' )
>>> max ( zip (prices.values(), prices.keys()))
( 45.23 , 'ZZZ' )
>>>

(代码摘自《Python Cookbook》) 。

希望本文所述对大家Python程序设计有所帮助.

原文链接:http://www.cnblogs.com/apple2016/p/5746514.html 。

最后此篇关于Python cookbook(数据结构与算法)字典相关计算问题示例的文章就讲到这里了,如果你想了解更多关于Python cookbook(数据结构与算法)字典相关计算问题示例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com