今天碰到一个小程序,正好可以用到Python的filter,map和reduce方法。感觉很有意思,顺便就写下来吧。问题是这样的:
两个小伙伴,数字214和77感觉自己的运气一直不好,想来想去,原来是和7有关,如下:
2+1+4=7 77%7=11 7%11=77
满足如下规则就是和7有关,
1. 本身是7的倍数 2. 数字里包含7 3. 数字各位累加时7的倍数
下一个小程序,计算出一定范围内和7不相关的数字的平方和。
题目很简单,可以用各种语言实现,这里的demo是Python实现的。
我们可以把这个过程分成这样几个步骤:
- 产生一定范围内的数字
- 去掉和7相关的数字
- 计算平方和
第一步很简单:
range(), 10以内的range(10), 即: [1,2,3,4,5,6,7,8,9]
第二部过滤:
filter(function or None, sequence) -> list, tuple, or string
reduce(function, sequence[, initial]) -> value
function如下:
def handle(num,noluck=7): if num %noluck==0: return False l = [string.atoi(x) for x in str(num)] for num in l: if num%noluck==0: return False if reduce(lambda x,y:x+y, l)%noluck==0: return False return True
这样去掉之后的结果是:filter(handle, range(10))
第三部是计算:
map(function, sequence[, sequence, ...]) -> list
reduce(lambda x,y: x+y, map(lambda x:x*x,filter(handle, range(10))))
这里还用到了lambda和表达式推导。是不是很有意思?只有真正玩python的人才知道其中好玩的地方 :-)
相关推荐
关于swift 的map,reduce,filter,flatMap语法的代码练习
这篇文章主要介绍了简单了解python filter、map、reduce的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python中有一些非常有趣的函数,面试的时候可能...
Python内置了一些非常有趣、有用的函数,如:filter、map、reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并. 是Python列表方法的三架马车。 1. filter函数的功能相当于...
主要给大家介绍了关于Array数组对象中forEach、map、filter及reduce的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用array数据具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
详解python中三种高阶函数(map,reduce,filter)
主要介绍了Python lambda表达式filter、map、reduce函数用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了Python中的特殊语法:filter、map、reduce、lambda介绍,本文分别对这个特殊语法给出了代码实例,需要的朋友可以参考下
一、map函数 接受两个参数 函数和可迭代对象 函数会作用于每个迭代对象 然后返回一个新的迭代对象 ...不过reduce会将第一个执行结果会和后面的迭代对象累计不断叠加 在python3之后需要引用才能使用 from func
文章目录sorted函数一、sort方法二、sorted内置函数三、情景引入filter类一、简单使用二、练习map类语法:一、简单使用二、练习reduce函数语法:一、简单使用二、设置初始值 Python中使用函数作为参数的内置函数和类...
map 作用是生成一个新数组,遍历原数组,将每个元素拿出来做一些变换然后放入到新的数组中。 [1, 2, 3].map(v => v + 1) // -> [2, 3, 4] 另外 map 的回调函数接受三个参数,分别是当前索引元素,索引,原数组 ['1'...
JavaScript之Array 中every,some,map,filter, reduce1 1.every和some every表示数组中的每一项都必须通过才会返回true some表示只要数组元素某一项满足即可 var arr = [1, 2, 3, 4, 5, 6, 7,8, 9]; var a = arr....
接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。 举例说明,比如我们有一个函数f(x)=x^2,要把这个函数作用在一个list [1, 2, 3, 4,
以实际真实实例解释map、filter、some、forEach的使用方式 以实际真实实例解释map、filter、some、forEach的使用方式
semajs Estudando Map-Filter-Reduce
reduce方法是一个数组的迭代方法,和map、filter不同,reduce方法可缓存一个变量,迭代时我们可以操作这个变量,然后返回它。 这是我大白话的解释,可能还是不容易理解,下面看例子吧 1. 数组累加 数组累加是...
这篇文章主要介绍了Pythont特殊语法filter,map,reduce,apply使用方法,需要的朋友可以参考下 (1)lambda lambda是Python中一个很有用的语法,它允许你快速定义单行最小函数。类似于C语言中的宏,可以用在任何需要...
注意其中:map和filter返回一个惰性序列,可迭代对象,需要转化为list >>> a = 3.1415 >>> round(a,2) 3.14 >>> a_round = round >>> a_round(a,2) 3.14 >>> def func_devide(x, y, f): return f(x) - f(y) #传递...