#创作者招募令#
第五十四节:Python的“列表推导式”
列表推导式是用来创建生成一个列表,或者根据一个现有的列表生成满足特定条件的列表。
前面第48节学习创建列表的时候学过创建一个空列表,当时就想,啥都没有的的空列表创建来干嘛?
现在啊,就有用了,来看一个例子,使用条件表达式和append()方法(往列表中添加元素,详见第51节内容)直接生成一个指定内容为包含0~以内所有4的倍数的列表:
例图1但是这样使用空列表往里面填元素的方法还是有点繁琐,所以啊,就有了“列表推导式”,这是Python所独有的方法,来看一下它的三种基本用法:
1、用来直接生成指定范围的数值列表
语法格式如下:
例图2其中,list自然是列表名了;
Expression代表了条件表达式,用来选择符合条件的元素以组成新列表;
for--in自然是用来筛选元素的循环语句;
var是循环语句中的循环变量;
range()函数用于在for循环下生成一系列的整数(详见第36节for循环内容)。
举一个例子:生成一个包括20个随机数字的列表number,指定的要求是这些数的范围包括在0~之间,具体内容详见下图:
例图3可以看到,这个实例中使用了import导入命令,导入的是一个随机整数数值标准库random,使用直接赋值的方法用推导式直接就生成了一个列表。
2、根据现有列表生成制定需求的列表
语法格式如下:
例图4其中,newlist自然是新列表名了;
Expression还是代表了条件表达式,用来选择符合条件的元素以组成新列表;
for--in依旧是用来筛选元素的循环语句;
var是循环语句中的循环变量;
最后的list就是现有的列表。
举一个例子:首先生成一个包括10个随机数字数字的列表number,指定的要求是这些数的范围包括在0~之间;然后根据这个number列表,应用推导式生成一个其中的数值是number列表中数值一半儿的列表number2,具体内容详见下图:
例图5上面这个例子,既温习了直接创建数值列表的推导式,也尝试了根据列表生成列表的推导式,当然,由于导入的是随机整数库random的缘故,所有的随机奇数除以2后也只保留了整数结果。
3、从现有列表中按条件挑出部分元素来生成新列表
语法格式比较长了哦:
例图6其中,newlist依然是新列表名;
Expression还是代表了条件表达式;
for--in依旧是用来筛选元素的循环语句;
var是循环语句中的循环变量;
list就是现有的列表;
If则是条件表达式condition选择语句。
继续设计一个实例:首先生成一个包含10个数字的列表number,要求是这些数字包含在0~之间;第二步根据列表number应用推导式再生成一个新列表number1,要求number1中的元素数值必须是number中数值的一半;第三步在number1选择大于的数字组成新的列表number2。
具体内容详见下图:
例图7就这样一步步推进,在学习新知识的同时,可以尝试着将能套进来的内容都联系起来,就像推导式中需要用到for循环和if选择语句一样,随着步步深入,逐渐的可以看见代码写作的雏形了。
明天要学习的是Python的“二维列表的使用”,请拭目以待。
为自己加油!我是“学海无涯,自学不息!”
零基础学Python(全彩版)新手第一选择,真正零基础视频教学!京东月销量0好评率99%无理由退换京东配送官方店¥69.4购买