python内置函数&匿名函数的使用

python内置函数查看:
https://docs.python.org/zh-cn/3.7/library/functions.html

一、python内置函数

python提供了比较多的内置函数,简单介绍几种比较常用的内置函数,
例如:filter函数,map函数,exec函数,all和any函数,zip函数

1. filter函数:过滤数据的函数

  • 基本格式:filter(参数1:过滤规则函数,参数2:可迭代对象 )

    实例1:获取列表中大于30的数据

     li = [11, 33, 34, 55, 7, 2, 7, 66, 899, 7, 5]
     
     1. 使用列表推导式实现:
     	print([i for i in li if i > 30])
    
     2. 使用filter函数实现
     res = filter(lambda x: x > 30, li)
     print(list(res))
    

    执行结果:
    在这里插入图片描述

2. map函数

  • 基本格式:map函数:(参数1:处理函数, 参数2:可迭代对象)

    实例2:计算列表中所有数据的二次方法

     li2 = [11, 33, 34, 55, 7, 2, 7, 66, 899, 7, 5]
     
     1. 使用列表推导式实现:
     	print([i**2 for i in li])
    
     2. 使用filter函数实现
     res2 = map(lambda x: x ** 2, li2)
     print(list(res))
    

    执行结果:
    在这里插入图片描述

3. exec函数:执行python代码

  • 场景:
    1.可以执行txt文本内的python代码

    # 执行txt文件中的代码
    with open('文件名.txt', 'r', encoding='utf-8') as f:
        exec(f.read())
    

    2.可以执行字符串内的python代码

    code = '''
    def work(a, b):
        print(a + b)
    
    a = 200
    b = 300
    work(a,b)
    '''
    # exec执行字符串内的代码
    exec(code)
    

4. all函数:迭代对象内所有的元素为真,返回True

  • 等同于and条件,用于简化and较多的条件

实例3:

def work(name=None, age=None, sex=None):

    # 常规语法and实现
    if name and age and sex:
        print('--成立01---')

    # 使用all函数实现
    if all([name, age, sex]):
        print('--成立02---')

5. any函数

  • 等同于or条件,用于简化or较多的条件

实例3:

def work(name=None, age=None, sex=None):

    # 常规语法or实现
    if name or age or sex:
        print('--成立01---')

    # 使用any函数实现
    if any([name, age, sex]):
        print('--成立02---')

6. zip函数:聚合打包

实例4:有两个列表,现在需要将两个列表合并成一个列表,以(11, ‘a’), (22, ‘b’)的形式体现

s1 = (11, 22, 33, 44, 55)
s2 = ('a', 'b', 'c', 'd', 'e', 'f', 'g')

res = zip(s1, s2)
print(list(res5))

结果:
在这里插入图片描述

二、匿名函数

  1. 匿名函数:lambda函数

  2. 使用场景:函数体结构非常简单的函数(结构简单的函数当成参数传递时使用)

3.基本语法:

- 表达式1:lambda 参数1,参数2:返回值

例如:

1.常规语法实现一个简单地加减函数
def work(a, b):
    return a * b
    
print(work(11,22))

2.lambda函数实现:
work2 = lambda a, b: a + b
print(work2(11,22))

- 表达式2:key=lambda x: x[值]

例如:对下面的列表进行排序(规则:根据列表中每个元素的第二个值的大小进行排序)

li = [[1, 10, 32], [3, 22, 99], [2, 33, 77]]

1.lambda函数实现:
li.sort()     # 按第一个值进行排序
li.sort(key=lambda x: x[1])         # 按第二个值进行排序
li.sort(key=lambda x: x[2])         # 按第三个值进行排序
print(li)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值