Python 列表推導式
我們可以使用給定的 Python 序列建立新的序列。這被稱為推導式。它基本上是一種編寫簡潔的程式碼塊來生成序列的方法,該序列可以使用另一個序列生成列表、字典、集合或生成器。它可能涉及不同型別序列之間多個步驟的轉換。
列表推導式
在這種方法中,我們透過操作現有列表的值來建立一個新列表。在下面的示例中,我們獲取一個列表,並透過向給定列表的每個元素新增 3 來建立一個新列表。
示例
given_list = [x for x in range(5)] print(given_list) new_list = [var+3 for var in given_list] print(new_list)
輸出
執行以上程式碼將得到以下結果:
[0, 1, 2, 3, 4] [3, 4, 5, 6, 7]
字典推導式
類似於上面,我們可以獲取一個列表並從中建立一個字典。
示例
given_list = [x for x in range(5)]
print(given_list)
#new_list = [var+3 for var in given_list]
new_dict = {var:var + 3 for var in given_list }
print(new_dict)輸出
執行以上程式碼將得到以下結果:
[0, 1, 2, 3, 4]
{0: 3, 1: 4, 2: 5, 3: 6, 4: 7}我們還可以獲取兩個列表並從中建立一個新的字典。
示例
list1 = [x for x in range(5)]
list2 = ['Mon','Tue','Wed','Thu','Fri']
print(list1)
print(list2)
new_dict ={key:value for (key, value) in zip(list1, list2)}
print(new_dict)輸出
執行以上程式碼將得到以下結果:
[0, 1, 2, 3, 4]
['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
{0: 'Mon', 1: 'Tue', 2: 'Wed', 3: 'Thu', 4: 'Fri'}集合推導式
我們可以採用與上面類似的方法,並從現有的集合或列表中建立一個新的集合。在下面的示例中,我們透過向現有集合的元素新增 3 來建立一個新的集合。
示例
given_set = {x for x in range(5)}
print(given_set)
new_set = {var+3 for var in given_set}
print(new_set)輸出
執行以上程式碼將得到以下結果:
{0, 1, 2, 3, 4}
{3, 4, 5, 6, 7}生成器推導式
可以從現有列表建立新的生成器。這些生成器在記憶體方面效率很高,因為它們是在生成專案時分配記憶體,而不是在開始時分配記憶體。
示例
given_list = [x for x in range(5)] print(given_list) new_set = (var+3 for var in given_list) for var1 in new_set: print(var1, end=" ")
輸出
執行以上程式碼將得到以下結果:
[0, 1, 2, 3, 4] 3 4 5 6 7
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP