1.简介
(1)概念
是python内置的非常简单却强大的可以用来创建list的生成方式
(2)格式
[exp for iter_var in iterable]
- exp:生成列表元素的表达式
#生成1~10的平方所构成的列表
#传统方法
lst = []
for i in range(1, 11):
lst.append(i*i)
print(lst)
#列表生成式方法
[i*i for i in range(1, 11)]
输出结果为:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100] #传统方法
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100] #列表生成式方法
2.特点
(1)可接if
#生成1~10之内的偶数所构成的列表
[i for i in range(1, 11) if i%2==0]
输出结果为:
[2, 4, 6, 8, 10]
(2)可以循环嵌套
#生成十以内的乘法表
lst = [str(i)+"*"+str(j)+"="+str(i*j) for i in range(1, 10) for j in range(1, i+1)]
print(lst)
输出结果为:
['1*1=1', '2*1=2', '2*2=4', '3*1=3', '3*2=6', '3*3=9', '4*1=4', '4*2=8', '4*3=12', '4*4=16', '5*1=5', '5*2=10', '5*3=15', '5*4=20', '5*5=25', '6*1=6', '6*2=12', '6*3=18', '6*4=24', '6*5=30', '6*6=36', '7*1=7', '7*2=14', '7*3=21', '7*4=28', '7*5=35', '7*6=42', '7*7=49', '8*1=8', '8*2=16', '8*3=24', '8*4=32', '8*5=40', '8*6=48', '8*7=56', '8*8=64', '9*1=9', '9*2=18', '9*3=27', '9*4=36', '9*5=45', '9*6=54', '9*7=63', '9*8=72', '9*9=81']