溫馨提示×

Python列表推導(dǎo)式怎樣妙

小樊
81
2024-10-31 07:39:51
欄目: 編程語言

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

[expression for item in iterable if condition]
  • expression:用于計(jì)算新列表中的每個(gè)元素的表達(dá)式。
  • item:表示從iterable中取出的每個(gè)元素。
  • iterable:一個(gè)可迭代對象(如列表、元組、集合或字典的鍵)。
  • condition:(可選)一個(gè)過濾條件,只有滿足條件的元素才會(huì)被包含在新列表中。

以下是一些使用列表推導(dǎo)式的示例:

  1. 生成一個(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è)字符串列表中提取所有以大寫字母開頭的單詞:
words = ['Apple', 'banana', 'Orange', 'Grape', 'Avocado']
uppercase_words = [word for word in words if word[0].isupper()]
print(uppercase_words)  # 輸出:['Apple', 'Orange', 'Grape', 'Avocado']
  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. 生成一個(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, 14]

注意:雖然列表推導(dǎo)式在某些情況下非常有用,但過度使用可能會(huì)導(dǎo)致代碼難以閱讀和理解。在使用列表推導(dǎo)式時(shí),請確保它確實(shí)使代碼更簡潔且易于維護(hù)。

0