列表推导式是Python的一种特殊语法,可以用一行代码创建一个列表。列表推导式的一般形式是:
[expression for item in iterable if condition]
其中,expression
是要放入列表中的元素,item
是从iterable
中取出的每个元素,iterable
是一个可迭代对象,condition
是一个可选的过滤条件。
例如,如果你想创建一个包含1到10的其中偶数的平方数的列表,你可以用列表推导式:
b = [x ** 2 for x in range(1, 11) if x % 2 == 0]
print(b)
输出
[4, 16, 36, 64, 100]
等同于
a = []
for x in range(1, 11):
if x % 2 == 0:
a.append(x ** 2)
print(a)
输出
[4, 16, 36, 64, 100]
列表推导式的优点
有:
可以用一行代码创建一个列表,简洁而优雅。
可以用于映射和过滤,不需要使用不同的方法。
可以提高代码的可读性和可维护性。
列表推导式的缺点
有:
可能会占用较多的内存,因为它会创建一个完整的列表对象。
可能会降低代码的性能,因为它需要遍历所有的元素。
可能会导致代码过于复杂,如果表达式或条件太长或太多。