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

    1.初识列表推导式

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

    image.png

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

   image.png

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

image.png

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

    

    2.带条件的列表推导式

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

image.png

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

image.png

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

    

 3.多个for的列表推导式

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

  image.png

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

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

image.png

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


演示站
上一篇:python3基础之迭代器的使用
下一篇:python3基础之如何使用字典和集合推导式

发表评论