国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python cookbook(數據結構與算法)字典相關計算問題示例

2020-01-04 15:50:38
字體:
來源:轉載
供稿:網友

本文實例講述了Python cookbook(數據結構與算法)字典相關計算問題。分享給大家供大家參考,具體如下:

問題:在字典上對數據執行各式各樣的計算(比如求最小值、最大值、排序)。

解決方案:利用zip()將字典的鍵-值對“反轉”為值-鍵對序列。

例如:如下字典存放的股票名稱和對應的價格:

>>> 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()創建了一個迭代器,它的內容只能消費一次。例如:

>>> 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將用來作為判定結果的依據。

>>> 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程序設計有所幫助。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海伦市| 石门县| 日土县| 贵港市| 凉山| 林甸县| 呼玛县| 西安市| 安西县| 宝坻区| 资溪县| 晋城| 顺平县| 隆德县| 刚察县| 阳泉市| 高陵县| 横峰县| 河间市| 高州市| 通榆县| 阿合奇县| 蓬溪县| 崇文区| 临海市| 开封县| 浠水县| 南召县| 高唐县| 偃师市| 呈贡县| 隆尧县| 玉环县| 论坛| 兖州市| 石柱| 顺平县| 新晃| 石台县| 万载县| 巴彦淖尔市|