Python 代碼閱讀合集介紹:為什么不推薦Python初學者直接看項目源碼
本篇閱讀的代碼實現了使用兩個列表中的元素分別作為key
和value
生成字典。
本篇閱讀的代碼片段來自於30-seconds-of-python。
to_dictionary
def to_dictionary(keys, values):
return {key:value for key, value in zip(keys, values)}
# EXAMPLES
to_dictionary(['a', 'b'], [1, 2]) # { a: 1, b: 2 }
to_dictionary
函數接收兩個列表作為key
和value
,返回由這兩個列表的元素組成的字典。
函數使用字典推導式生成新的字典,使用列表key
中的元素作為字典的鍵,使用列表value
中對應的元素作為對應的值。推導式使用zip
函數同時迭代兩個列表,獲取兩個列表中相對應的元素。
zip(*iterables)
創建一個聚合了來自每個可迭代對象中的元素的迭代器。它返回一個元組的迭代器,其中的第i
個元組包含來自每個參數序列或可迭代對象的第i
個元素。 當所輸入可迭代對象中最短的一個被耗盡時,迭代器將停止迭代。 當只有一個可迭代對象參數時,它將返回一個單元組的迭代器。不帶參數時,它將返回一個空迭代器。
>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> list(zipped)
[(1, 4), (2, 5), (3, 6)]