Python列表推导式(List Comprehensions)是一种简洁、高效的创建列表的方法。它的语法结构如下:
[expression for item in iterable if condition]
其中:
expression
:用于计算新列表中的每个元素的表达式,通常是对item
的操作。item
:表示从iterable
中取出的每个元素。iterable
:一个可迭代对象,如列表、元组、集合或字典的键。condition
:(可选)一个过滤条件,只有满足条件的item
才会被包含在新列表中。以下是一些常用的列表推导式示例:
创建一个0到9的平方的列表:
squares = [x**2 for x in range(10)]
print(squares) # 输出:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
从一个字符串列表中提取所有大写字母:
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']
从一个字典中提取所有键:
my_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
keys = [key for key in my_dict]
print(keys) # 输出:['a', 'b', 'c', 'd']
从一个嵌套列表中提取所有偶数元素:
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]
总之,列表推导式是一种简洁、易读且高效的方式来创建和处理列表。