列表推導(dǎo)式(List Comprehension)是一種簡潔的創(chuàng)建新列表的方法,它允許你使用一行代碼生成一個(gè)新的列表。列表推導(dǎo)式的語法如下:
new_list = [expression for item in iterable if condition]
其中:
expression
:用于計(jì)算新列表中的每個(gè)元素的表達(dá)式,通常是對item
的操作。item
:表示從iterable
中取出的每個(gè)元素。iterable
:一個(gè)可迭代對象(如列表、元組、集合或字典的鍵)。condition
:(可選)一個(gè)過濾條件,只有滿足條件的item
才會被包含在新列表中。下面是一些使用列表推導(dǎo)式的示例:
squares = [x**2 for x in range(10)]
print(squares) # 輸出:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
words = ['apple', 'banana', 'cherry', 'date', 'fig', 'grape']
long_words = [word for word in words if len(word) > 3]
print(long_words) # 輸出:['banana', 'cherry', 'grape']
my_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
keys_list = [key for key in my_dict]
print(keys_list) # 輸出:['a', 'b', 'c', 'd']
list1 = [1, 2, 3, 4]
list2 = [5, 6, 7, 8]
sum_list = [x + y for x in list1 for y in list2]
print(sum_list) # 輸出:[6, 7, 8, 9, 8, 9, 10, 11, 10, 11, 12, 13]
列表推導(dǎo)式是一種非常強(qiáng)大且易于閱讀的方式來創(chuàng)建新列表。然而,如果列表推導(dǎo)式過于復(fù)雜,可能會降低代碼的可讀性。在這種情況下,可以考慮使用其他方法(如循環(huán))來創(chuàng)建新列表。