溫馨提示×

Python列表推導(dǎo)式有啥訣

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

Python列表推導(dǎo)式(List Comprehensions)是一種簡潔、高效的創(chuàng)建列表的方法。它的語法結(jié)構(gòu)如下:

[expression for item in iterable if condition]

其中:

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

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

  1. 創(chuàng)建一個0到9的平方的列表:

    squares = [x**2 for x in range(10)]
    print(squares)  # 輸出:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
    
  2. 從一個字符串列表中提取所有大寫字母:

    words = ['Hello', 'World', 'Python', 'List', 'Comprehension']
    uppercase_letters = [word[0] for word in words if word[0].isupper()]
    print(uppercase_letters)  # 輸出:['H', 'W', 'P', 'L', 'C']
    
  3. 從一個字典中提取所有鍵:

    my_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
    keys = [key for key in my_dict]
    print(keys)  # 輸出:['a', 'b', 'c', 'd']
    
  4. 從一個嵌套列表中提取所有偶數(shù)元素:

    nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    even_numbers = [num for sublist in nested_list for num in sublist if num % 2 == 0]
    print(even_numbers)  # 輸出:[2, 4, 6, 8]
    

總之,列表推導(dǎo)式是一種簡潔、易讀且高效的方式來創(chuàng)建和處理列表。

0