我们在写代码的时候,如果使用循环语句可能会产生代码过长的现象。虽然这样对于新手来说同样是达到了最终的结果,但是想要往python进阶我们就需要思考一个问题,有没有什么方法可以让代码进行精简,同时达到我们所需要的运行效果。今天就这项功能的实现,我们一起学习列表解析式的使用。
列表解析式是python中的一个亮点语法。本质上就是用列表来构建列表,通过对已有列表中的每一项应用一个指定的表达式来构建出一个新的列表。列表解析式的优势是编码简单,运行起来很快。
列表解析式的三个核心要素是:
1. 作用于输入序列的运算表达式;
2. 对输入序列的循环表达式;
3. 对输入序列的过滤条件,其中过滤条件是可选的。
假设你现在想完成这样一个操作,即:将0-10这11个数字分别乘以2,然后将它们放到一个新的列表中去
一般情况下这种操作可以使用for循环来实现
newList = [] #先定义一个空列表 for i in range(11): newList.append(i * 2) #将每个元素都乘以2 print(newList)
列表解析式:
print([i*2 for i in range(11)])
上面只是列表解析式的一种用法,即:当我们想要改变列表而不是更新列表的时候,我们就可以使用列表解析式。
通过以上两段代码的对比,我们可以很明显的看到使用列表解析式后,代码只用一行就可以实现我们所需要的命令,是不是很好用呢~感兴趣的小伙伴快点学起来吧。