Python編程實(shí)現(xiàn)從字典中提取子集的方法分析
本文實(shí)例講述了Python編程實(shí)現(xiàn)從字典中提取子集的方法。分享給大家供大家參考,具體如下:
首先我們會(huì)想到使用字典推導(dǎo)式(dictionary comprehension)來(lái)解決這個(gè)問(wèn)題,例如以下場(chǎng)景:
prices={'ACME':45.23,'APPLE':666,'IBM':343,'HPQ':33,'FB':10} #選出價(jià)格大于 200 的 gt200={key:value for key,value in prices.items() if value > 200} print(gt200) print('---------------------') #提取科技公司的相關(guān)信息 tech={'APPLE','IBM','HPQ','FB'} techDict={ key:value for key,value in prices.items() if key in tech} print(techDict)
運(yùn)行結(jié)果如下:
{'APPLE': 666, 'IBM': 343} --------------------- {'APPLE': 666, 'FB': 10, 'IBM': 343, 'HPQ': 33}
大部分可以通過(guò)字典推導(dǎo)式解決的問(wèn)題也可以通過(guò)創(chuàng)建元組序列然后將它們傳給dict()
函數(shù)來(lái)完成,例如:
gt200Dict=dict((key,value) for key,value in prices.items() if value > 200) print(gt200Dict) print('---------------------') techDict2={ key:prices[key] for key in prices.keys() & tech} print(techDict2)
但是,對(duì)于第一個(gè)輸出結(jié)果,字典推導(dǎo)式的方案相比更加清晰而且運(yùn)行更快;第二個(gè)輸出的速度也慢了很多,所以,采用字典推導(dǎo)式為最佳選擇方案。
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Python字典操作技巧匯總》、《Python列表(list)操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門(mén)與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
如何使Python中的print()語(yǔ)句運(yùn)行結(jié)果不換行
這篇文章主要介紹了如何使Python中的print()顯示當(dāng)前語(yǔ)句后不換行,print() 是一個(gè)常用函數(shù),但是每次,print()語(yǔ)句顯示后都會(huì)換行,本問(wèn)我們就來(lái)節(jié)日如何使print()顯示當(dāng)前語(yǔ)句后不換行,需要的朋友可以參考一下2022-03-03Python迭代器協(xié)議及for循環(huán)工作機(jī)制詳解
這篇文章主要介紹了Python迭代器協(xié)議及for循環(huán)工作機(jī)制詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07Python自定義主從分布式架構(gòu)實(shí)例分析
這篇文章主要介紹了Python自定義主從分布式架構(gòu),結(jié)合實(shí)例形式分析了主從分布式架構(gòu)的結(jié)構(gòu)、原理與具體的代碼實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-09-09詳解運(yùn)行Python的神器Jupyter Notebook
如果我們想要運(yùn)行Python,就是在Python或者IPython的解釋器環(huán)境中進(jìn)行交互式運(yùn)行,或者程序員最喜歡的編寫(xiě).py文件,在文件中編寫(xiě)python代碼,然后運(yùn)行。如果想寫(xiě)一篇Python的文章,里面有代碼,還希望代碼在當(dāng)前頁(yè)面運(yùn)行,那就是使用我們今天要介紹的Jupyter Notebook。2021-06-06簡(jiǎn)單的Python調(diào)度器Schedule詳解
這篇文章主要介紹了簡(jiǎn)單的Python調(diào)度器Schedule詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08Python+OpenCV解決彩色圖亮度不均衡問(wèn)題
當(dāng)我們換新頭像時(shí),常常會(huì)遇到圖片過(guò)暗導(dǎo)致看不到圖片內(nèi)容的情況,本文將介紹如何通過(guò)Python和OpenCV解決色彩圖亮度不均衡的問(wèn)題,需要的可以參考一下2021-12-12python實(shí)現(xiàn)控制臺(tái)打印的方法
今天小編就為大家分享一篇python實(shí)現(xiàn)控制臺(tái)打印的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01Win11平臺(tái)安裝和配置NeoVim0.8.2編輯器搭建Python3開(kāi)發(fā)環(huán)境詳細(xì)過(guò)程(2023最新攻略)
這篇文章主要介紹了Win11平臺(tái)安裝和配置NeoVim0.8.2編輯器搭建Python3開(kāi)發(fā)環(huán)境(2023最新攻略),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-01-01Python時(shí)間戳與時(shí)間字符串互相轉(zhuǎn)換實(shí)例代碼
這篇文章主要介紹了Python時(shí)間戳與時(shí)間字符串互相轉(zhuǎn)換實(shí)例代碼,大家參考使用2013-11-11