转自: https://www.cnblogs.com/rivendare/p/9493698.html
列表解析式
可以根据已有列表,高效创建新列表的方式。列表解析是Python迭代机制的一种应用,它常用于实现创建新的列表,返回的是一个列表,因此用在[]中。
列表解析式因编译器进行优化,提高了效率,减少出错,增加可读性
语法
[ 返回值 for 元素 in 可迭代对象 if条件 ]
使用中括号[ ],内部是for循环,if条件语句可选
返回一个新列表
示例1:
生成一个列表,元素0-9,对每一个元素自增1后求平方返回新列表
#常规写法
new = []
for i in range(10):
new.append((i+1)**2)
print(new)
#使用列表解析式方法
new = [(i+1)**2 for i in range(10)]
print(new)
输出结果相同:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
示例2:
获取10以内的偶数
list = [i for i in range(10) if i % 2 == 0]
print(list)
输出结果为:
[0, 2, 4, 6, 8]
示例3: