`
david_je
  • 浏览: 369376 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

一个用到filter,map,reduce的小问题

阅读更多

     今天碰到一个小程序,正好可以用到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

    关于swift 的map,reduce,filter,flatMap语法的代码练习

    简单了解python filter、map、reduce的区别

    这篇文章主要介绍了简单了解python filter、map、reduce的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python中有一些非常有趣的函数,面试的时候可能...

    Python内置函数之filter map reduce介绍

    Python内置了一些非常有趣、有用的函数,如:filter、map、reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并. 是Python列表方法的三架马车。 1. filter函数的功能相当于...

    Array数组对象中的forEach、map、filter及reduce详析

    主要给大家介绍了关于Array数组对象中forEach、map、filter及reduce的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用array数据具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    详解python中三种高阶函数(map,reduce,filter).pdf

    详解python中三种高阶函数(map,reduce,filter)

    Python lambda表达式filter、map、reduce函数用法解析

    主要介绍了Python lambda表达式filter、map、reduce函数用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Python中的特殊语法:filter、map、reduce、lambda介绍

    主要介绍了Python中的特殊语法:filter、map、reduce、lambda介绍,本文分别对这个特殊语法给出了代码实例,需要的朋友可以参考下

    map、reduce、filter 、lambda 使用

    一、map函数 接受两个参数 函数和可迭代对象 函数会作用于每个迭代对象 然后返回一个新的迭代对象 ...不过reduce会将第一个执行结果会和后面的迭代对象累计不断叠加 在python3之后需要引用才能使用 from func

    Python中sorted函数、filter类、map类、reduce函数

    文章目录sorted函数一、sort方法二、sorted内置函数三、情景引入filter类一、简单使用二、练习map类语法:一、简单使用二、练习reduce函数语法:一、简单使用二、设置初始值 Python中使用函数作为参数的内置函数和类...

    map,filter,reduce

    map 作用是生成一个新数组,遍历原数组,将每个元素拿出来做一些变换然后放入到新的数组中。 [1, 2, 3].map(v => v + 1) // -> [2, 3, 4] 另外 map 的回调函数接受三个参数,分别是当前索引元素,索引,原数组 ['1'...

    JavaScript之Array 中every,some,map,filter, reduce

    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....

    python- 笔记 高阶函数map reduce fileter

    接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。 举例说明,比如我们有一个函数f(x)=x^2,要把这个函数作用在一个list [1, 2, 3, 4,

    以实际真实实例解释map、filter、some、forEach的使用方式

    以实际真实实例解释map、filter、some、forEach的使用方式 以实际真实实例解释map、filter、some、forEach的使用方式

    semajs:Estudando Map-Filter-Reduce

    semajs Estudando Map-Filter-Reduce

    【JavaScript源代码】8个JS的reduce使用实例和reduce操作方式.docx

     reduce方法是一个数组的迭代方法,和map、filter不同,reduce方法可缓存一个变量,迭代时我们可以操作这个变量,然后返回它。 这是我大白话的解释,可能还是不容易理解,下面看例子吧 1. 数组累加 数组累加是...

    Pythont特殊语法filter,map,reduce,apply使用方法

    这篇文章主要介绍了Pythont特殊语法filter,map,reduce,apply使用方法,需要的朋友可以参考下 (1)lambda lambda是Python中一个很有用的语法,它允许你快速定义单行最小函数。类似于C语言中的宏,可以用在任何需要...

    Python3的高阶函数map,reduce,filter的示例详解

    注意其中: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) #传递...

Global site tag (gtag.js) - Google Analytics