Python 各种推导式
列表推导式
一般推导
# 生成1、2、3、4、5、6、7、8、9、10的列表
lis = [i for i in range(1,11)]
带过滤条件的推导
# 生成 0、2、4、6、8 的列表
[i for i in range(10) if i % 2 == 0]
带函数的推导
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# 生成 0, 1, 4, 9, 16, 25, 36, 49, 64, 81 的列表
func = lambda a:a**2
lis = [func(i) for i in range(10)]
字典推导式
字典花式初始化
# way1
dic1 = {'name': 'monkey', 'gender': 'male'}
# {'name': 'monkey', 'gender': 'male'}
# way2
dic2 = dict(name='monkey', gender='male')
# {'name': 'monkey', 'gender': 'male'}
# way3
dic3 = dict(zip(('name', 'gender'), ('monkey', 'male')))
# {'name': 'monkey', 'gender': 'male'}
# way4
lis = ['name', 'gender']
dic4 = dict.fromkeys(lis, None)
# {'name': None, 'gender': None}
# way5
dict([('name', 'monkey'), ('gender','male')])
# {'name': None, 'gender': None}
字典推导式
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# 将两个列表拟合成字典
lis1 = [0, 1, 2, 3, 4, 5, 6]
lis2 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
dic = {k:v for k,v in zip(lis1, lis2)}
集合推导式
set1 = {i for i in range(10)}
复合推导
# 列表 字典 元组的复合
[{k:(v,j)} for k,v,j in zip(lis, lis1, lis2)]
# [
# {0: (0, 'a')},
# {1: (1, 'b')},
# {4: (2, 'c')},
# ...
# ]
本文来自博客园,作者:I'm_江河湖海,转载请注明原文链接:https://www.cnblogs.com/jhhh/p/16761834.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下