设为首页 | 加入收藏

欢迎访问盈彩网app安卓下载-盈彩网彩票-盈彩网怎么样

盈彩网app安卓下载 >> 三菱帕杰罗-python基础知识共享:zip()、filter函数和reduce怎么运用?

喜爱编程,酷爱共享,期望能结交更多情投意合的朋友,一同在学习Python的道路上走得更远!有不明白的问题能够私聊我哦!

zip()函数

能够从一个或多个可迭代目标中并行取出元素进行并行的迭代。它也是回来本身的迭代器。

例如:

之所以能并行迭代多个可迭代目标,是由于它一起符号多个可迭代目标的迭代方位。假如zip的多个可迭代目三菱帕杰罗-python基础知识共享:zip()、filter函数和reduce怎么运用?标的长度不同,则以最短的长度为规范,由于zip最多只能符号到最短长度的迭代方位。

由于zip回来的是迭代器,所以能够运用迭代三菱帕杰罗-python基础知识共享:zip()、filter函数和reduce怎么运用?东西去河北人事考试网操作zip的成果:

zip常用于构建dict,由于它并行从多个迭代目标中取数据:

需求留意的是,zip能够从恣意可迭代目标中取元素,而调集/字典中的元素次序是不定的,所以并行取出来的次序或许不像幻想中在方位上那般一一对应。

filter

Python中的filter函数类似于Perl中的grep,用于从可迭代目标中挑选出元素被函数操作后为True的元素。

filter(function or None, iterable) --> filter object

例如,挑选出列表中字符串元素长度大于2的字符串:

上面的作业进程是迭代列表L,每取一个元素都放进函数中操作一番,假如这个元素放进函数中使得函数回来真,则保存这个元素,不然丢掉这个元素。

假如filter的函数部分为None,则表明直接从可迭代目标中取出元素为True的元素:

filter的回来成果是一个可迭代目标,能够进行迭代操作:

reduce

reduce的功用十分好用,看下面的示例:

1 >>> import functools
2 >>> functools.reduce(lambda x, y: x+y, [1,2,3,4,5])
3 15

它的语法为:

reduce(func, sequence[, initial]) -> value

reduce有两个进程:

  1. 先从sequence中取两个元素作为func的参数,该函数回来一个成果A。这是初始化的进程
  2. 将成果A与sequence的下一个元素作为func的参数,持续回来一个成果B,将成果B与下一个元素作为func参数,顺次类推,直到迭代完sequence中所有元素

假如给reduce设置了initial三菱帕杰罗-python基础知识共享:zip()、filter函数和reduce怎么运用?参数,则越过初始化的进程,直接将Initial与sequence的第一个元素作为func的参数。假如没有给定sequence,而给了Initial,则initial作为直接回来的默认值。

例如,从序列中取出最大值:

1 >>> reduce( lambda x, y: x if x > y else y, [1,2,3,4,5] )
2 5三菱帕杰罗-python基础知识共享:zip()、filter函数和reduce怎么运用?
3
4 >>> reduce( lambda x, y: x if x>y else y, [1,2,3,4,5],10 )
5 10

觉得文章还不错的话无妨保藏起来渐渐看,有任何主张或观点欢迎我们在谈论区共享评论!

我是一名python开发工程师,整理了一套python的学习材料,假如你想提高自己,对编程感兴趣,重视我并在后台私信小编:“08”即可免费收取材料!期望对你能有所协助!



上一条      下一条
返回顶部