Python中map filter reduce的递归实现

map2=lambda f,seq: [] if seq==[] else [f(seq[0])] + map2(f, seq[1:])  filter2=lambda f, seq: [] if seq==[] else ( [seq[0]]+filter2(f, seq[1:]) if f(seq[0]) else filter2(f, seq[1:]) )  reduce2=lambda f,seq,x: x if seq==[] else reduce2(f, seq[1:], f(x, seq[0]))  scanl=lambda f,seq,x: [x] if seq==[] else  [x] +scanl(f, seq[1:], f(x,seq[0]))    print map2(str, [1,2,3,5,8])print filter2(lambda x: x%2==0, range(10))print reduce2(lambda x,y: ''.join( ['(',x,'+',y,')'] ), map(str,range(1,11)), '0')print scanl(lambda x,y: ''.join( ['(',x,'+',y,')'] ), map(str,range(1,5)), '0')    #Out:#['1', '2', '3', '5', '8']#[0, 2, 4, 6, 8]#((((((((((0+1)+2)+3)+4)+5)+6)+7)+8)+9)+10)#['0', '(0+1)', '((0+1)+2)', '(((0+1)+2)+3)', '((((0+1)+2)+3)+4)']

登录后复制

python中map filter reduce的递归实现,注意:要小心内存溢出

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2284120.html

(0)
上一篇 2025年2月27日 20:36:20
下一篇 2025年2月26日 11:14:56

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 如何让python变得更快?

    python和其他脚本语言通常会被摒弃,因为它们相对于一些类似于c语言的编译型的语言来说效率很低。比如下面的斐波纳契数的例子: C语言中: int fib(int n){   if (n Python中:def fib(n):  if n …

    编程技术 2025年2月27日
    200
  • 教你用100多行写一个数据库

    本文介绍的是以为中国的it资深人士写的一个简单的数据库,没有我们使用的数据库那么强大,但是值得大家借鉴。可以用在特定环境中,更加灵活方便。 数据库的名字叫WawaDB,是用python实现的。由此可见python是灰常强大啊! 简介 记录日…

    编程技术 2025年2月27日
    200
  • linux及windows下使用Python获取IP地址

    使用python可以用很简单的方法得到本机ip地址,不过在windows和linux下的方法稍有不一样的,下面就来详细介绍下: Windows下获得IP地址的方法 方法一 使用socket模块 使用拨号上网的话,一般都有一个本地ip和一个外…

    编程技术 2025年2月27日
    200
  • PYTHON如何在内存中生成ZIP文件

    如题,代码如下: class MemoryZipFile(object):   def __init__(self):       #创建内存文件       self._memory_zip = StringIO.StringIO()  …

    编程技术 2025年2月27日
    200
  • python的子子孙孙

    python果真非常强大,它有着众多的追随者,所以很多开发者都依赖它开发出了各种不同的变种版本,下面列举几种: 1. pypy pypy 是用python实现的python解释器。pypy比cpython是更加灵活,易于使用和试验,以制定具…

    编程技术 2025年2月27日
    200
  • 得到一张图片或logo的主要颜色(颜色趋向)python版

    在使用google或者baidu搜图的时候会发现有一个图片颜色选项,感觉非常有意思,有人可能会想这肯定是人为的去划分的,呵呵,有这种可能,但是估计人会累死,开个玩笑,当然是通过机器识别的,海量的图片只有机器识别才能做到。那用python能不…

    编程技术 2025年2月27日
    200
  • python+ mysql存储二进制流的方式

    很多时候我们为了管理方便会把依稀很小的图片存入数据库,有人可能会想这样会不会对数据库造成很大的压力,其实大家可以不用担心,因为我说过了,是存储一些很小的图片,几k的,没有问题的! 再者,在这里我们是想讲一种方法,python+ mysql存…

    编程技术 2025年2月27日
    200
  • python下redis安装和使用

    python下redis安装 用python操作redis数据库,先下载redis-py模块下载地址https://github.com/andymccurdy/redis-py shell# wget https://github.com…

    编程技术 2025年2月27日
    200
  • sys.argv[] 的使用详解

    sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径;比如在cmd命令行输入 “python  test.py -help”,那么sys.argv[0]就代表“test.py”。 sys.startswit…

    编程技术 2025年2月27日
    200
  • python 在互联网应用是如此强大

    我最近读到一遍文章其主要关注点是在python社区,讲的是为什么python应用如此丑陋? 尽管某些情况下他的观点是正确的,但是对于他问的这个问题“亲爱的Python,你为何如此丑陋”真是荒谬至极。 他所叙述的每个假设和比对显得非常愚蠢,写…

    2025年2月27日 编程技术
    200

发表回复

登录后才能评论