python3三大常用函数之zip、map、reduce介绍

在python编码过程中,实际上是写机器学习代码过程中,我发现有三个高频函数被使用,也就是这篇博客要介绍的zip、map以及reduce三大函数。

其中map、zip是python的内置函数,也就是全局函数,在python3中reduce函数不再是内置函数,它被放在了functools模块中了。

对于内置函数我们可以在python窗口界面中通过help(func)命令方式获取其使用方法。

一、zip函数

首先通过help(zip)来获取zip方法使用说明
在这里插入图片描述从说明可以看出,zip方法传入的参数是一个或多个可迭代的对象,我们知道数组( list )和元组( tuple )都是可迭代对象,所以可以传入数组或者元组对象,zip函数的返回值是一个zip object,这个zip object也是一个可迭代对象,这个可迭代对象的每个元素是一个元组,从这里我们也可以知道zip object实际上也可以作为参数传入zip方法。这里来看看zip方法的具体使用
在这里插入图片描述
从以上的代码我们可以直观的看出zip函数实际上就是把几个迭代对象的对应元素提取出来拼接成一个元组,然后把各个元组组成一个可迭代的zip object(所谓的可迭代也就是可以用将zip object用于for …in …语法)

二,map函数

map函数对比zip函数更加负载一点,我们可以先看看help(map)的说明
在这里插入图片描述从这里可看出map函数的第一个参数是一个函数或者lambda表达式,后面的参数为一个或者多个可迭代对象,而返回的map object也是一个可迭代对象,这里还是通过例子来展示如何使用map方法
在这里插入图片描述
这里使用map完成了相加以及,求平方数的两个操作

三、reduce函数

在python3中,reduce已经不是内置函数了,需要通过一下方式引入

from functools import reduce

还是通过help(reduce)来看看reduce方法的使用吧
在这里插入图片描述从方法说明可以看出,reduce方法第一个参数是一个包含两个参数的函数或者lambda表达式,第二个参数是一个序列(sequece,而list和tuple是最常用的两个序列),还有一个initial的可选参数。reduce函数返回的是一个value值

假设第一个参数函数是func(x,y),第二个参数是一个列表[a1,a2,a3,a4],初始化参数initial是a0那么最终ruduce的输出就是
func(func(func((func(a0,a1),a2),a3),a4),如果没有传入initial参数,则直接从a1开始计算。这里可看一个具体的例子
在这里插入图片描述
到这里zip、map以及reduce三大方法就介绍完了,很简单是不是,记在这篇博客实际上就是有些时候记不大请了,自己可以来看看。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值