Python中的列表推导式怎么用
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,小编给大家分享一下Python中的列表推导式怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、列表生成式列表生成式即List Comprehensions,是Python内置的
千家信息网最后更新 2025年11月11日Python中的列表推导式怎么用
小编给大家分享一下Python中的列表推导式怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
1、列表生成式
列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。
语法结构如下:
# 普通的生成式[表达式 for 变量 in 旧列表]# 加条件的生成式[表达式 for 变量 in 旧列表 if 条件]# if...else条件的生成式[表达式 if 条件1 else 条件2for 变量 in 旧列表]
1.1 案例
过滤掉名词字母不足4的名字,示例代码如下:
names = ["Tom", "Lily", "Jack", "Steven", "Bod"]# 在不是用列表生成式的过程news_names = []for name in names: if len(name) > 3: news_names.append(name)print(news_names) # ['Lily', 'Jack', 'Steven']# 使用列表生成式new_names = [name for name in names if len(name) > 3]print(new_names) # ['Lily', 'Jack', 'Steven']
显而易见,使用列表生成式可以节省很多行代码
将1-100的整数可以被3和5整除的数字,组成一个新的列表.示例代码,示例代码如下所示:
# 将1-100的整数可以被3和5整除的数字,组成一个新的列表# 旧方法number_list = []for i in range(101): if i % 3 == 0 and i % 5 == 0: number_list.append(i)print(number_list) # [0, 15, 30, 45, 60, 75, 90]# 列表生成式new_num_list = [i for i in range(101) if i % 3 == 0 and i % 5 == 0]print(new_num_list) # [0, 15, 30, 45, 60, 75, 90]
将0到10的奇数和0到5的偶数组成一个不重复的列表,示例代码如下所示:
# 将0到10的奇数和0到5的偶数组成一个不重复的列表# 旧方法news_number_list = []for x in range(10): if x % 2 != 0: for y in range(5): if y % 2 == 0: news_number_list.append([x, y])print(news_number_list)# [[1, 0], [1, 2], [1, 4], [3, 0], [3, 2], [3, 4], [5, 0], [5, 2], [5, 4], [7, 0], [7, 2], [7, 4], [9, 0], [9, 2],[9, 4]]# 新方法news_num_list = [[x, y] for x in range(10) if x % 2 != 0 for y in range(6) if y % 2 == 0]print(news_num_list)# [[1, 0], [1, 2], [1, 4], [3, 0], [3, 2], [3, 4], [5, 0], [5, 2], [5, 4], [7, 0], [7, 2], [7, 4], [9, 0], [9, 2],[9, 4]]
同样支持多个for语句,如果使用原来的那种方法的话层级结构太深了,使用生成式一行解决
将列表中的数字大于8000的加200 小于等于8000的加500,示例代码如下:
# 将列表中的数字大于8000的加200 小于等于8000的加500number = [5000, 10000, 4500, 80000, 12000]# 旧方法for i in number: if i > 8000: i += 200 else: i += 500print(number) # [5000, 10000, 4500, 80000, 12000]# 新方法new_number = [i + 200 if i > 8000 else i + 500 for i in number]print(new_number) # [5000, 10000, 4500, 80000, 12000]
2、集合生成式
语法结构如下所示:
# 普通的生成式{表达式 for 变量 in 旧列表}# 加条件的生成式{表达式 for 变量 in 旧列表 if 条件}# if...else条件的生成式{表达式 if 条件1 else 条件2for 变量 in 旧列表}语法结构与列表生成式基本相同,但是因为集合不允许有重复,所有得出的结果自动去重
3、字典生成式
字典生成式与集合生成式和列表生成式的语法结构一致,唯一不同的是字典是以键值对的形式存放信息的,如下例子中我们将dict中的键值互换,
示例代码如下:
# 将字典的键值对互换dict1 = {"a": "A", "b": "B", "c": "C"}# 就方法new_dict1 = {}for key, value in dict1.items(): # 返回一个存放键值对的元组 new_dict1[value] = keyprint(new_dict1) # {'A': 'a', 'B': 'b', 'C': 'c'}# 新方法news_dict1 = {value: key for key, value in dict1.items()}print(news_dict1) # {'A': 'a', 'B': 'b', 'C': 'c'}item方法:返回可遍历的(键, 值) 元组数组。
看完了这篇文章,相信你对"Python中的列表推导式怎么用"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
生成
条件
方法
代码
变量
示例
表达式
结构
字典
数字
语法
普通
偶数
奇数
整数
篇文章
不同
强大
相同
一致
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
dell服务器e1311
数据库储存过程
蓝思网络技术有限公司销售额
网络安全服务公司创业计划书
如何搭建域服务器
智能驾驶软件开发用什么软件
麒麟服务器操作系统命令界面
网络安全你我知手抄报
潮汕正规软件开发费用
客户端服务器地址
网络技术后端是什么技术
佛山软件开发的公司
进行文献传递的数据库是
邦友汇互联网科技平台
王者换了服务器就会没有段位
网络安全题材的股票有哪些
软件开发的职称怎么考
2个服务器能同时登陆plex吗
数据库系统工程师薪酬水平
搭建语音服务器
小学生谈网络安全心得体会
物理数据库导航
为什么数据库软件很慢
电视服务器连接失败
锦州软件开发报价
计算机网络技术医药中的运用
网站链接数据库url栏
青岛微信小程序软件开发解决方案
泰拉瑞亚手机全物品服务器
代驾打车软件开发