溫馨提示×

Python列表推導式如何處理數(shù)據(jù)

小樊
81
2024-11-09 10:41:43
欄目: 編程語言

Python列表推導式(List Comprehension)是一種簡潔、高效的創(chuàng)建列表的方法。它允許你使用一行代碼生成一個新的列表,而不需要使用循環(huán)或其他復雜的方法。列表推導式的基本語法如下:

[expression for item in iterable if condition]

其中:

  • expression:用于計算新列表中的每個元素的表達式,通常是對item的操作。
  • item:表示從iterable中取出的每個元素。
  • iterable:一個可迭代對象(如列表、元組、集合或字典的鍵)。
  • condition:(可選)一個過濾條件,只有滿足條件的item才會被包含在新列表中。

下面是一些使用列表推導式的示例:

  1. 生成一個0到9的平方列表:
squares = [x**2 for x in range(10)]
print(squares)  # 輸出:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
  1. 從一個字符串列表中提取所有單詞:
words = ["Hello", "world", "I", "am", "a", "Python", "developer"]
word_list = [word for word in words]
print(word_list)  # 輸出:['Hello', 'world', 'I', 'am', 'a', 'Python', 'developer']
  1. 從一個字典中提取所有鍵:
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. 生成一個包含兩個列表元素之和的列表:
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]
  1. 生成一個只包含偶數(shù)的列表(使用條件過濾):
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
even_numbers = [num for num in numbers if num % 2 == 0]
print(even_numbers)  # 輸出:[2, 4, 6, 8]

通過這些示例,你可以看到列表推導式如何處理數(shù)據(jù)。它提供了一種簡潔、易讀的方式來創(chuàng)建和處理列表。

0