列表推导式可以说是Python程序开发时应用最多的技术之一。使用非常简洁的方式来快速生成满足特定需求的列表,代码具有非常强的可读性。
例如
aList = [x * x for x in range(10)]
#相当于
aList = []
for x in range(10):
aList.append(x*x)
print(aList)
freshfruit = ['banana', 'loganberry', 'passion fruit']
aList = [w.strip() for w in freshfruit]
#等价于
freshfruit = ['banana', 'loganberry', 'passion fruit']
for i,v in enumerate(freshfruit):
freshfruit[i] = v.strip()
#等价于
freshfruit = ['banana', 'loganberry', 'passion fruit']
freshfruit = list(map(str.strip,freshfruit))
#但是不等价于
freshfruit = ['banana', 'loganberry', 'passion fruit']
for i in freshfruit:
i = i.strip()
使用列表推导式实现嵌套列表的平铺
vec = [[1,2,3], [4,5,6], [7,8,9]]
print([num for elem in vec for num in elem])
#[1,2,3,4,5,6,7,8,9]