前言:
目前同学们对“python列表推导”大约比较重视,姐妹们都需要分析一些“python列表推导”的相关内容。那么小编同时在网络上汇集了一些关于“python列表推导””的相关资讯,希望各位老铁们能喜欢,朋友们快快来了解一下吧!欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中的列表推导式详解》。本知识点主要内容有:列表推导式的含义,生成指定范围的数值列表,根据列表生成指定需求的列表,从列表中选择符合条件的元素组成新的列表。
含义:列表推导式(list comprehension)也称为列表解析式,就是可以快速生成一个列表,或者根据某个列表生成满足指定需求的列表。
列表推导式,通常有以下几种类型的语法格式:
1、生成指定范围的数值列表,语法格式如下:
list = [Expression for var in range]
详细参数说明:
list:表示生成的列表名称
Expression:表达式,用于计算新列表的元素
var:循环变量
range:采用range()函数生成的range对象
例如,生成一个10以内的序列,和10以内的偶数序列
a1 = [i for i in range(10)] #生成一个10以内的序列a2 = [i for i in range(10) if i % 2 == 0] #生成一个10以内的偶数序列print(a1)print(a2)
运行结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9][0, 2, 4, 6, 8]>>>
再来看一个例子:10以内的平方数,代码如下:
s = [i**2 for i in range(10)]print(s)
运行结果如下:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]>>>
上面的比较简单,下面我们再来一个,生成10以内的5个随机数列表,代码如下:
import random #导入random标准库s = [random.randint(0,10) for i in range(5)]print("生成的5个随机数为:",s)
运行以后结果为:
生成的5个随机数为: [6, 4, 7, 5, 0] #多次运行,结果都不一样,随机生成>>>
2、根据列表生成指定需求的列表,语法如下:
newlist = [Expression for var in list]
详细参数说明如下:
newlist:表示新生成的列表名称
Expression:表达式,用于计算新列表的元素
var:变量,值为后面列表的每个元素值
list:用于生成新列表的原列表
列如,定义一个序列商品的进货价,然后应用列表推导式生成一个全部翻倍的零售价,代码如下:
jinhuo = [5,2,8,6,6,10,15,5]lingshou = [int(i*2) for i in jinhuo]print("进货价:",jinhuo)print("零售价:",lingshou)
运行结果如下:
进货价: [5, 2, 8, 6, 6, 10, 15, 5]零售价: [10, 4, 16, 12, 12, 20, 30, 10]>>>
3、从列表中选择符合条件的元素组成新的列表,语法格式如下:
newlist = [Expression for var in list if condition]
详细参数说明如下:
newlist:表示新生成的列表名称
Expression:表达式,用于计算新列表的元素
var:变量,值为后面列表的每个元素值
list:用于生成新列表的原列表
condition:条件表达式,用于指定筛选条件
列如,定义一个序列商品的进货价,然后应用列表推导式生成一个进货价小于10的列表,代码如下:
jinhuo = [5,2,8,6,6,10,15,5]s = [i for i in jinhuo if i<10]print("进货价:",jinhuo)print("进货价小于10的:",s)
运行结果如下:
进货价: [5, 2, 8, 6, 6, 10, 15, 5]进货价小于10的: [5, 2, 8, 6, 6, 5]>>>
到此为止,本文《在python中的列表推导式详解》所讲到的列表推导式的含义,生成指定范围的数值列表,根据列表生成指定需求的列表,从列表中选择符合条件的元素组成新的列表。已经全部讲解完毕,有疑问的可以留言哦!
标签: #python列表推导