python-1

作者: 流星雨的梦 | 来源:发表于2017-12-01 18:32 被阅读3次

函数式编程(map、filter、reduce)

问题:选出一列表[-1000,1000]中同时是3和5倍数的元素,并对这些元素进行以下运算:x2/(x+5)(1/2),输出该结果中最大的那个数的数值
代码如下:

times=lambda x : x%3 == 0 and x%5 == 0 
my_times=filter(times,range(-1000,1000))
f=lambda my_times:my_times**2/(my_times+5)**(1/2)
squ=map(f,my_times)
reduce(max,squ)
Out: 980100

解析:

  • filter:输出满足条件的元素列表
  • map:将列表中元素分别按照f函数进行运算,并输出新的列表
  • redece(f,list):将列表中元素依次两两按照f运算,并输出最终结果
    编程过程中的问题:
  • lambda中如果有if一定要写else,或者两者都不写,函数式编程里没有return
  • lambda下跟map时,取的是lambda的返回值,而filter只关注条件,返回值无用。

相关文章

  • python-1

    函数式编程(map、filter、reduce) 问题:选出一列表[-1000,1000]中同时是3和5倍数的元素...

  • python-1

    概念总结-笔记one 1.接口(interface:a surface forming a common boun...

  • 2021-10-08 Python-1

    Python作为计算机的高级编程语言,在生信的应用中非常常见。本文是为了记录生信小白Python学习的历程。 首先...

  • python-1 简单的turtle画图程序

    python turtle的一些操作 画笔控制函数penup() /抬起画笔pendown() /落...

  • 【Python学习】零基础学习Python-1

    第四节: 1)变量(不需要像C Java等一样加类型) 2)变量不能以数字打头 3)支持中文作为变量名 4)交换:...

  • python-1:用sublime text3搭建python的

    sublime text3我们到官方网站搜索下载即可。下载后直接next安装就可以了。然后我们就需要安装packa...

网友评论

      本文标题:python-1

      本文链接:https://www.haomeiwen.com/subject/bpbwbxtx.html