Python 代碼閱讀合集介紹:為什么不推薦Python初學者直接看專案原始碼
本篇閱讀的代碼基于輸入的源字典創建一個新的字典,保持key值不變,vaule值是源字典對應vaule進行映射獲得的,
本篇閱讀的代碼片段來自于30-seconds-of-python,
map_values
def map_values(obj, fn):
ret = {}
for key in obj.keys():
ret[key] = fn(obj[key])
return ret
# EXAMPLES
users = {
'fred': { 'user': 'fred', 'age': 40 },
'pebbles': { 'user': 'pebbles', 'age': 1 }
}
map_values(users, lambda u : u['age']) # {'fred': 40, 'pebbles': 1}
map_values函式輸入一個字典obj和映射fn,初始化一個新的字典,并針對輸入字典的每個k-v對,保持key值不變,使用映射fn計算新value值,
dict.keys()回傳字典的key 組成的新視圖,
dict[key]回傳key所對應的value值,
dict[key] = value將dict[key]的值設定為value,
map_values函式首先新建了一個空字典ret,然后遍歷輸入字典的所有key,針對每個value使用映射fn獲取新的value,并將新字典的key設定成新的value,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/336114.html
標籤:Python
上一篇:Python 歸并排序法
