Python - 生成式、lambda 匿名函数

本文详细介绍了Python中的生成式、列表生成式、字典生成式、匿名函数(lambda)及其在max、min、sorted、map、filter、reduce等函数中的应用,通过实例解析了如何使用这些特性进行条件判断、映射、过滤和合并操作。
摘要由CSDN通过智能技术生成

目录

一、三元表达式 - if …… else

二、列表生成式 - [… for … in …]

三、字典生成式 - {…:… … for … in …}

3-1 字典生成式用于集合的生成

四、匿名函数 - lambda

4-1 匿名函数和高级函数

4-1-1 max、min + lambda - 指定函数比较的对象

4-1-2 sorted + lambda - 指定函数的排序依据

4-1-3 map + lambda - 自定义映射规则,返回列表

4-1-4 filter + lambda - 自定义过滤规则,返回列表

4-1-5 reduce + lambda - 自定义合并

五、生成器表达式 - (… for … in …)


一、三元表达式 - if …… else

  • res = 条件成立返回的值 if 条件 else 条件不成立返回的值
  • 例:res='成功' if name == '123' else '失败'

二、列表生成式 - [… for … in …]

[循环取出来的值进行运算  for  循环取出的变量  in  列表名]

[循环取出来满足if判断的值进行运算  for  循环取出的变量  in  列表名  if  判断]

语法:

[
    expression for item1 in iterable1 if condition1
        for item2 in iterable2 if condition2
            ...
                for itemN in iterableN if conditionN
]

'''
类似于
res=[]
for item1 in iterable1:
    if condition1:
        for item2 in iterable2:
            if condition2
                ...
                for itemN in iterableN:
                    if conditionN:
                        res.append(expression)
'''
names = ['a','b','c']
l=[name + '_123' for name in names]
print(l)
# ['a_123','b_123','c_123']

l = ['a', 'b', 'c']
# 取出列表的值和索引
for index in enumerate(l):
    print(index) # (0, 'a')

 

三、字典生成式 -{…:… … for … in …}

keys = ['name','age','sex']
vals = ['a','v','c']

dic = {k:vals[i] for i,k in enumerate(keys) if i >0}
print(dic)

# {i:i for i in range(10)}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值