目錄
- 問題
- 解決方案
- 討論
問題
如果我們想基于一個字典的子集創建另外一個字典,該如何做?
解決方案
利用 字典推導式 來解決問題:
prices = {'ACME': 45.23,'AAPL': 612.78,'IBM': 205.55,'HPQ': 37.20,'FB': 10.75
}p1 = {key:value for key, value in prices.items() if value > 200}
print(p1)
討論
大部分使用字典推導式解決的問題其實也可以通過創建元組序列然后將其傳給 dict()
函數來完成,比如:
p2 = dict((key, value) for key, value in prices.items() if value > 200)
print(p2)
但是相比來看,字典表達式的方案更加清晰,運行速度也比創建元組并轉換字典快很多。如果要考慮性能因素,建議直接使用字典推導式。