列表推导(生成)式


作用:生成一个有元素的列表

语法1:[表达式 for 变量 in 容器]

for循环每执行一次,表达式就会将其生成的结果添加到列表中。

num = [i for i in range(1,11)]
print(num)
结果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

for循环取[1,11)区间的数,表达式i依次将取得的数存入列表num。

append()适用于所有向列表中追加元素的操作。

性能:列表推导式>append()

语法2:[表达式 for 变量 in 容器 if 条件]

for循环执行一次,if分支判断一次,条件成立时表达式执行,将成立的结果存入列表num。

num = [i for i in range(1, 21) if i % 2 == 0]
print(num)
结果:[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

for循环从[1,21)区间取值,每个值对2取余,符合条件,即是偶数,便将结果存入列表num。

语法3:[表达式 for 变量 in 容器 for 变量 in 容器]

前面是外层循环,控制次数,后面是内层循环,表达式是内层循环的变量。

num = [i for _ in range(3) for i in range(1,6)]
print(num)
结果:[1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

第二个for循环从[1,6)区间取值,第一个for循环控制第二个for循环的次数,为3次,将循环得到的值i存入列表num。

该语法较前两种语法使用较少

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值