3个提高python效率的函数

在这里插入图片描述
Python作为一种编程语言,在人们的日常工作与生活中应用地愈加广泛,有些人将其用来做爬虫、数据分析与可视化,也有不少人用它来做机器学习深度学习建模预测。
为了避免敲打出复杂而又冗长的代码,今天就来和大家分享一下Python当中可以提效的三个函数方法,希望大家可以喜欢。

map()


定义:

它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。

示例:
    def num_func(x):
        return x ** 2/2
        
    data = [1,3,5,7,9,12]
    list(map(num_func,data))
    #输出 0.5,4.5,12.5,24.5,40.5,72.0]
相信读者在日常的实践操作中用for循环的比较多,但是与map()函数相比还是略显复杂与冗长,同时更加简洁的方式就是map和lambda结合
进阶示例:
    data = [1,3,5,7,9,12]
    result = list(map(lambda x:x**2/2,data))
     #输出 0.5,4.5,12.5,24.5,40.5,72.0]

filter()


定义

filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。

当然读者也完全可以使用for循环加if条件筛选来过滤出相应的元素,但上述操作实在太过于繁琐

示例:
    def bigger_than_15(x):
        return x>15
        
    data = [2,3,5,6,8,9]    
    list(filter(bigger_than_15,data))

reduce()


定义:

reduce() 函数会对参数序列中元素进行累积
函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。

参数列表

function有两个参数的函数,必须参数
sequencetuple,list,dict,string等可迭代(可理解为可遍历)数据类型,必须参数
initial初始值,可选参数
示例:
    from functools import reduce
    def add_nums(x,y):
        return x + y 
        
    data = [5,10,13,56]
    reduce(add_nums,data)

在这里插入图片描述

进阶示例:
    from functools import reduce
 
    data = [5,10,13,56]
    reduce(lambda x,y:x+y,data)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值