python列表推导式_python3基础之如何使用列表推导式

1.初识列表推导式

列表推导式是一种创建列表的方式,所以列表的返回结果就是一个列表。列表推导式的基本结构如图:

cd8a8fcfb1a6a3e06cb3bee63a2558b0.png

乍一看有点懵,这怎么就变成了一个列表呢?看个测试例子:

9dd7fdf0899a83cd75bfbc4094c23f7c.png

例子中使用推导式生成了一个新的列表[2,4,6,8,10],这个结果是如何获得的呢?这么看还是很难理解,把式子的结构改一下就会很好理解:

94be48c49ebb24f06a9348e459fe74fe.png

这么改就看的很顺眼了,原来列表推导式的执行过程和for循环的执行过程是一样的。只不过表达式放到了for前面,并且表达式的结果直接作为新列表的元素。

2.带条件的列表推导式

列表推导式还能加上判断条件,让生成的列表更符合我们的需求。加上条件的推导式结构如下:

d592f168dfc261401cff6d02f1c591ed.png

加上判断条件的推导式例子如下:

effb4050f41cfe5f554f4d3d2f0c4ebc.png

其实只要理解了推导式的基本形式,再来理解这个带条件的推导式就很容易了。到这里应该对列表推导式有了足够的认知了,是时候看看更复杂的推导式了。

3.多个for的列表推导式

列表推导式不是只能有一个for循环,使用多个for时相当于嵌套的for循环,在上面的例子的基础之上加个for循环:

5fc60c5385d6c0aae85260f15a2fd239.png

例子中写了一个类似推导式执行过程的for循环,应该很容易理解在推导式中存在多个for循环时是如何执行的。

(注:例子中if(x > 3):不需要小括号,真的是c++的if写习惯了)。当然推导式中不是只有for可以有多个,if也是可以有多个的就像这样:

9aebdae7e9dcb58cb4de55e667495b6d.png

多个if的情况也相当于if的嵌套。可以参考推导式下方的for循环。如果没有把推导式中各部分框出来,推导式看上去还是很复杂的(把一堆代码放在一行上能不复杂吗?),所以对于推导式的使用还需要多多的练习才行啊。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值