Python代碼閱讀(第40篇):通過兩個列表生成字典


Python 代碼閱讀合集介紹:為什么不推薦Python初學者直接看項目源碼

本篇閱讀的代碼實現了使用兩個列表中的元素分別作為keyvalue生成字典。

本篇閱讀的代碼片段來自於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函數接收兩個列表作為keyvalue,返回由這兩個列表的元素組成的字典。

函數使用字典推導式生成新的字典,使用列表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)]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM