Python 代碼閱讀合集介紹:為什麼不推薦Python初學者直接看項目源碼
本篇閱讀的代碼使用提供的映射函數,將傳入的列錶映射成字典。
本篇閱讀的代碼片段來自於30-seconds-of-python。
map_dictionary
def map_dictionary(itr, fn):
ret = {}
for x in itr:
ret[x] = fn(x)
return ret
# EXAMPLES
map_dictionary([1,2,3], lambda x: x * x) # { 1: 1, 2: 4, 3: 9 }
map_dictionary
函數接收一個列錶以及一個映射函數,並返回一個字典,字典的key
是列錶的元素,字典的value
是對key
使用映射函數fn
之後的返回值。
函數先使用ret = {}
新建一個空字典。然後用for
循環遍曆每一個列錶元素。ret[x] = value
這種形式將會改變key-value
對的值,或者增加一對。最後,函數返回新生成的字典。