列表推导式是 Python 中的一种简洁、易读的方式,用于创建列表。它基于一个现有的迭代器(如列表、元组、集合等)来生成新的列表。
列表推导式的基本形式如下:
[expression for item in iterable if condition]
其中:
基本的列表推导式:
例如,我们想要创建一个列表,其中包含数字0到9的平方:
squares = [x**2 for x in range(10)]
print(squares)
输出结果为:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
带有条件的列表推导式:
如果我们只想要偶数的平方,可以这样做:
even_squares = [x**2 for x in range(10) if x**2 % 2 == 0]
print(even_squares)
输出结果为:
[0, 4, 16, 36, 64]
使用多个迭代器:
我们还可以使用多个迭代器来创建一个列表,例如,创建两个列表中所有可能的元素对:
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
combinations = [(x, y) for x in list1 for y in list2]
print(combinations)
输出结果为:
[(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b'), (2, 'c'), (3, 'a'), (3, 'b'), (3, 'c')]
除了列表推导式,Python 还支持字典推导式、集合推导式等,它们的工作原理与列表推导式类似,但用于创建字典或集合。
希望这篇博文能帮助你更好地理解和使用 Python 中的列表推导式!如果你觉得有用,请不吝点赞和分享!