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

    时间: 浏览:124次  来源:站长在线
欢迎你来到站长在线的站长学堂学习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中的列表推导式详解》所讲到的列表推导式的含义,生成指定范围的数值列表,根据列表生成指定需求的列表,从列表中选择符合条件的元素组成新的列表。已经全部讲解完毕,有疑问的可以留言哦!

本文地址:https://www.olzz.com/pythonliebiaotuidaoshi.html
码字不易,打个赏呗
站长在线小编感谢你的支持!
站长在线站长一对一技术培训,100元两个小时
阿里云虚拟主机1G空间,120元一年
香港、美国虚拟主机100元一年,1000元永久
腾讯云双十一0.4折起,2核8G5M三年仅700元,2核4G8M三年仅198元

猜你喜欢

站长在线Python精讲:Python中正则表达式的语法详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python中正则表达式的语法详解》。本知识点主要内容有9点:行定位符、元字符、限定符、字符集、排除字符、选择字符、转义字符、分组、在Python中使用正则表达式语法。

2021-12-07  分类:Python教程  浏览:12次


站长在线零基础Python完全自学教程19:python中字符串完全解读

欢迎你来到站长学堂,学习站长在线出品的在线课程《零基础 Python完全自学教程》今天给大家分享的是第19课《 python中字符串完全解读》。本节课是一个大课,我分了这些知识点进行详细讲解:字符串编码转换:encode编码和decode解码详解、使用“+”运算符来拼接字符串详解、使用len()函数计算字符串的长度详解、使用索引和切片的方法截取字符串详解、使用split()方法分割、使用join()方法合并字符串详解、检索字符串的5大方法详解、字符串中字母的大小写转换的4大方法详解、去除字符串中的空格和特殊字符的4个方法详解、格式化字符串的两种方法详解。

2021-12-05  分类:Python教程  浏览:32次


站长在线Python精讲:在Python中格式化字符串的两种方法详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中格式化字符串的两种方法详解》。本知识点主要内容有:使用%操作符格式化字符串和使用format()方法格式化字符串。

2021-12-04  分类:Python教程  浏览:34次


站长在线Python精讲:在Python中去除字符串中的空格和特殊字符的4个方法详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中去除字符串中的空格和特殊字符的4个方法详解》。本知识点主要内容有:使用strip()方法用于去掉字符串左、右两侧的空格和特殊字符、使用lstrip()方法用于去掉字符串左侧的空格和特殊字符、使用rstrip()方法用于去掉字符串右侧的空格和特殊字符、使用replace()方法,删除中间的空格和特殊字符。

2021-12-03  分类:Python教程  浏览:36次


站长在线经典Python题:使用Python编程思想解决鸡兔同笼的问题的4种方法

欢迎你来到站长在线的Python题库,鸡兔写完Python教程以后,还是来一个Python的题目吧!想来想去,还是写一个经典的题目为好,作为本栏目的第一个题目。我就想到了比较热门的题目《鸡兔同笼的问题》,本文不是用数学的方法,而是用Python编程的方法解决鸡兔同笼的问题。用的就是《Python中的三大程序结构》: 顺序结构、选择结构和循环结构。解决问题具体的方法就是;顺序语句假设法、选择语句判定法、while循环语句遍历法、for循环语句遍历法。下面我来一一解答:

2021-12-01  分类:Python题库  浏览:47次


站长在线Python精讲:在Python字符串中字母的大小写转换的4大方法详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python字符串中字母的大小写转换的4大方法详解》。本知识点主要内容有:使用lower()方法,把所有大写字母转换成小写字母、使用upper()方法,把所有小写字母转换成大写字母、使用capitalize()方法,仅首字母转化为大写字母,其余小写字母、使用title()方法,把每个单词的首字母转化为大写字母,其余为小写字母。

2021-12-01  分类:Python教程  浏览:50次


站长在线Python精讲:在Python中检索字符串的5大方法详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中检索字符串的5大方法详解》。本知识点主要内容有:使用count()方法检索指定字符串在另一个字符串中出现的次数、使用find()方法检索是否包含指定的子字符串、使用index()方法检索是否包含指定的子字符串、使用startswith()方法用于检索字符串是否以指定子字符串开头和使用endswith()方法用于检索字符串是否以指定子字符串结尾。

2021-11-30  分类:Python教程  浏览:46次


站长在线Python精讲:在Python中使用split()方法分割、使用join()方法合并字符串详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中使用split()方法分割、使用join()方法合并字符串详解》。本知识点主要内容有:在Python中使用split()方法分割字符串和在Python中使用join()方法合并字符串。

2021-11-29  分类:Python教程  浏览:40次


站长在线Python精讲:在Python中使用索引和切片的方法截取字符串详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中使用索引和切片的方法截取字符串详解》。本知识点主要内容有:使用索引的方法截取一个字符串和使用切片的方法截取一段字符串。

2021-11-28  分类:Python教程  浏览:59次


站长在线python精讲:在Python中使用len()函数计算字符串的长度详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中使用len()函数计算字符串的长度详解》。本知识点主要内容有:在Python中使用len()函数计算字符串在UTF-8编码中的长度和使用len()函数计算字符串在GBK编码中的长度。

2021-11-27  分类:Python教程  浏览:61次