Python教程:在python中的列表推导式详解

liftword6个月前 (01-12)技术文章50

欢迎你来到站长在线的站长学堂学习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基础之列表介绍和循环遍历

大家好,我是Go进阶者,今天给大家分享一些Python基础 (列表基础和循环遍历介绍),一起来看看吧~一、列表介绍想一想:字符串可以用来存储一串信息,那么想一想,怎样存储所有同学的名字呢?定义100个...

Python之列表是什么

列表是由一系列按照特定顺序排列的元素组成。你可以创建包含字母、数字等等的列表;也可以将任何东西加入到列表中,各个元素之间可以没有任何关系。 在Python中,用英文格式的方括号([ ])来表示列表,...

python基础——列表详解

一、简述 列表是Python最常用的数据类型,格式是方括号[]中包含以逗号分隔的字符或者数字。列表中的每个元素都有一个位置(称为下标或者索引),从0开始。二、创建列表>>> list...

python入门006:认识列表

一、列表简介1、什么是列表列表由一系列按特定顺序排列的元素组成。列表是有序信息集合。列表让你能够在一个地方存储成组的信息,其中可以只包含几个元素,也可以包含数百万个元素。2、列表的表示方法在pytho...