python推导式
推导式作用及分类
推导式是通过一个数据序列来构成另一个数据序列的结构体
支持各种数据类型的推导式
1.列表推导式
2.字典推导式
3.集合推导式
4.元组推导式
1.列表推导式
基本格式如下:
[表达式 for 变量 in 列表]
[out_exp_res for out_exp in input_list]
或者
[表达式 for 变量 in 列表 if 条件]
[out_exp_res for out_exp in input_list if condition]
可以通过限制条件从一个列表里获取数据生成另一个列表,举个例子:
#!/usr/bin/python3
names = ["ana","bob","frank","elk"]
names_up = [name.upper() for name in names if len(name)<=3]
print(names_up)
输出结果为:['ANA', 'BOB', 'ELK']
这里的作用就是将列表names里面长度小于等于3的数据编程大写后输出到新的列表name中。
计算30以内可以被3整除的数据:
multiples = [i for i in range(30) if i % 3 == 0]
print(multiples)
输出:[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
2.字典推导式
{ key_expr: value_expr for value in collection }
或
{ key_expr: value_expr for value in collection if condition }
例程:
listdemo = ['Google','Runoob', 'Taobao']
# 将列表中各字符串值为键,各字符串的长度为值,组成键值对
newdict = {key:len(key) for key in listdemo}
print(newdict)
输出:{'Google': 6, 'Runoob': 6, 'Taobao': 6}
3.集合推导式
{ expression for item in Sequence }
或
{ expression for item in Sequence if conditional }
例程
setnew = {i**2 for i in (1,2,3)}
print(setnew)
输出:{1, 4, 9}
4.元组推导式
(expression for item in Sequence )
或
(expression for item in Sequence if conditional )
用法与列表推导式相同,区别在于[]和()。
拓展
结果值1 if 判断条件 else 结果2 for 变量名 in 原列表
list1 = ['python', 'test1', 'test2']
list2 = [word.title() if word.startswith('p') else word.upper() for word in list1]
print(list2)
输出:['Python', 'TEST1', 'TEST2']
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)