
上QQ阅读APP看书,第一时间看更新
3.3 循环语句中的List解析
有这么一种学习方法:先提出问题,再思考如何解决这个问题,从而引出新的知识。这种学习方式可以让理论与实践紧密结合。这种学习思路很适合编程,为什么呢?因为与其说程序设计是一门知识学科,我更认同程序设计是一门用于解决现实问题的工程技术,如何解决问题是工程技术最关心的重点。
让我们提出新的问题,现在有1~9总共9个数字,如何得到从1到9整数的平方,并且将结果放在List中打印出来?
例3-11 1至9的整数的平方


for循环语句提供了解决方案。那有没有更为优雅的办法呢?还真有,Python有一个独特的功能,就是List解析。
例3-12 用List解析的方法实现1到9的整数的平方

直接在中括号[]里面进行for循环和平方运算,然后赋给变量List a,这种方式完美体现了Python优雅简洁的特点。
再举一个例子,如何才能找出100以内被3整除的正整数?常规的方法是用for循环遍历1到100以内的整数,然后再用if语句去判断这个整数是否能够被3整除。
例3-13 100以内被3整除的正整数

如果用List解析的方法会有什么结果呢?
例3-14 用List解析的方法计算被3整除的结果

一行代码就可以解决这么复杂的问题,一行代码可以写得这么简洁优雅,这就是Python的魅力所在。