Python 中的字典推導
Manav Narula
2021年4月29日
列表是通用名稱下多個元素的有序集合。在 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'}
Author: Manav Narula
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