列表推导式(List comprehensions)是一种简洁的语法,用于创建新的列表,并可以在创建过程中对元素进行转换、筛选或组合操作。
列表推导式的一般形式为:
new_list = [expression for item in iterable if condition]
其中:
expression
是要应用于每个元素的表达式或操作。item
是来自可迭代对象(如列表、元组或字符串)的每个元素。iterable
是可迭代对象,提供要遍历的元素。condition
是一个可选的条件,用于筛选出满足条件的元素。
以下是列表推导式的使用案例:
案例一,创建一个包含1到5的平方的列表:
squares = [x**2 for x in range(1, 6)]
print(squares)
# [1, 4, 9, 16, 25]
案例二,筛选出长度大于等于5的字符串:
words = ["apple", "banana", "cherry", "date", "elderberry"]
filtered_words = [word for word in words if len(word) >= 5]
print(filtered_words)
# ["apple", "banana", "cherry"]
案例三,将两个列表中的元素进行组合:
numbers = [1, 2, 3]
letters = ['A', 'B', 'C']
combined = [(number, letter) for number in numbers for letter in letters]
print(combined)
# [(1, 'A'), (1, 'B'), (1, 'C'), (2, 'A'), (2, 'B'), (2, 'C'), (3, 'A'), (3, 'B'), (3, 'C')]