所在的位置: python >> python优势 >> 0基础学python54

0基础学python54

#创作者招募令#

第五十四节: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购买


转载请注明:http://www.aierlanlan.com/grrz/1759.html