赞
踩
1.初识列表推导式
列表推导式是一种创建列表的方式,所以列表推导式的返回结果就是一个列表。列表推导式的基本结构如图:
乍一看有点懵,这怎么就变成了一个列表呢?看个测试例子:
例子中使用推导式生成了一个新的列表[2,4,6,8,10],这个结果是如何获得的呢?这么看还是很难理解,把式子的结构改一下就会很好理解:
这么改就看的很顺眼了,原来列表推导式的执行过程和for循环的执行过程是一样的。只不过表达式放到了for前面,并且表达式的结果直接作为新列表的元素。
2.带条件的列表推导式
列表推导式还能加上判断条件,让生成的列表更符合我们的需求。加上条件的推导式结构如下:
加上判断条件的推导式例子如下:
其实只要理解了推导式的基本形式,再来理解这个带条件的推导式就很容易了。到这里应该对列表推导式有了足够的认知了,是时候看看更复杂的推导式了。
3.多个for的列表推导式
列表推导式不是只能有一个for循环,使用多个for时相当于嵌套的for循环,在上面的例子的基础之上加个for循环:
例子中写了一个类似推导式执行过程的for循环,应该很容易理解在推导式中存在多个for循环时是如何执行的。
(注:例子中if(x > 3):不需要小括号,真的是c++的if写习惯了)。当然推导式中不是只有for可以有多个,if也是可以有多个的就像这样:
多个if的情况也相当于if的嵌套。可以参考推导式下方的for循环。如果没有把推导式中各部分框出来,推导式看上去还是很复杂的(把一堆代码放在一行上能不复杂吗?),所以对于推导式的使用还需要多多的练习才行啊。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。