溫馨提示×

Python列表推導(dǎo)式如何創(chuàng)建新列表

小樊
81
2024-11-09 10:47:42
欄目: 編程語言

列表推導(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)式的示例:

  1. 創(chuàng)建一個(gè)0到9的平方值列表:
squares = [x**2 for x in range(10)]
print(squares)  # 輸出:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
  1. 從一個(gè)字符串列表中提取長度大于3的字符串:
words = ['apple', 'banana', 'cherry', 'date', 'fig', 'grape']
long_words = [word for word in words if len(word) > 3]
print(long_words)  # 輸出:['banana', 'cherry', 'grape']
  1. 從一個(gè)字典中提取所有鍵的列表:
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']
  1. 創(chuàng)建一個(gè)包含兩個(gè)列表元素之和的新列表:
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)建新列表。

0