Python列表推導(dǎo)式能實(shí)現(xiàn)哪些功能

小樊
81
2024-11-09 10:46:40

Python列表推導(dǎo)式(List Comprehensions)是一種簡(jiǎn)潔、高效的創(chuàng)建列表的方法。它可以用一行代碼生成一個(gè)新的列表,而不需要使用多行循環(huán)。列表推導(dǎo)式可以實(shí)現(xiàn)以下功能:

  1. 過濾列表元素:通過條件表達(dá)式對(duì)原始列表進(jìn)行過濾,只保留滿足條件的元素。
numbers = [1, 2, 3, 4, 5]
even_numbers = [num for num in numbers if num % 2 == 0]  # 保留偶數(shù)
  1. 生成序列:根據(jù)一定的規(guī)則生成一個(gè)新的列表。
squares = [num * num for num in range(1, 6)]  # 生成1到5的平方數(shù)
  1. 嵌套循環(huán):在列表推導(dǎo)式中使用嵌套循環(huán),可以生成更復(fù)雜的列表結(jié)構(gòu)。
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = [element for row in matrix for element in row]  # 將二維矩陣展平為一維列表
  1. 字典推導(dǎo)式:通過指定鍵值對(duì)生成一個(gè)新的字典。
names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
name_age_dict = {name: age for name, age in zip(names, ages)}  # 將名字和年齡組合成字典
  1. 集合推導(dǎo)式:通過指定條件表達(dá)式生成一個(gè)新的集合。
numbers = [1, 2, 3, 4, 5]
even_numbers = {num for num in numbers if num % 2 == 0}  # 生成偶數(shù)集合

總之,Python列表推導(dǎo)式提供了一種簡(jiǎn)潔、高效的方式來(lái)創(chuàng)建和處理列表,同時(shí)支持多種數(shù)據(jù)結(jié)構(gòu)。

0