Python 中的字典推導

Manav Narula 2023年10月10日
Python 中的字典推導

列表是通用名稱下多個元素的有序集合。在 Python 中建立和管理列表很簡單。為了簡化操作,我們提供了 Python 中可用的列表推導方法。這種方法更加簡潔,優雅,通常只需一行程式碼。它通常涉及在方括號內使用 for 迴圈。

下面的程式碼演示瞭如何使用此方法建立簡單的整數列表。

lst = [i for i in range(1, 10)]
print(lst)

輸出:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

另一方面,字典用於儲存鍵值對。Python 2.7 及更高版本中也支援字典推導。類似地,它用於在一行程式碼中建立字典。

例如,

d = {i: i * 5 for i in range(1, 5)}
print(d)

輸出:

{1: 5, 2: 10, 3: 15, 4: 20}

在上面的程式碼中,我們將 1 到 5 的整數指定為字典的鍵,並指定鍵和 5 的乘積作為其值。

眾所周知,我們可以建立字典的鍵和值的列表。使用字典推導方法,我們可以輕鬆地使用列表元素建立字典。它顯示在下面的例子中。

keys = [1, 2, 3, 4, 5]
vals = ["Mark", "Jack", "Jake", "Sam", "Ash"]

d = {i: j for i, j in zip(keys, vals)}

print(d)

輸出:

{1: 'Mark', 2: 'Jack', 3: 'Jake', 4: 'Sam', 5: 'Ash'}

上例中的 zip() 函式用於在合併兩個列表後返回一個 zip 型別的物件。

值得注意的是,還有其他方法可以更快地建立字典。例如,我們可以使用 fromkeys() 函式。此函式允許我們通過提供列表中的鍵來建立字典。缺點是它為所有鍵指定了相同的值。

例如,

keys = [1, 2, 3, 4, 5]

d = dict.fromkeys(keys, "True")

print(d)

輸出:

 {1: 'True', 2: 'True', 3: 'True', 4: 'True', 5: 'True'}
作者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相關文章 - Python Dictionary