【Python中的map()函数和reduce()函数的用法】教程文章相关的互联网学习教程文章

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) #传递参数为函数 print(func_devide(9.3, 3.2, round)) 1. map函数 map()函数接收两个参数,一个是函数,一个是Iterable,map将...

python 用map和reduce实现字符串转浮点数【代码】

# -*- coding: utf-8 -*- from functools import reducedef str2float(s):digits = {'0':0, '1':1, '2':2, '3':3, '4':4, '5':5, '6':6, '7':7, '8':8, '9':9}def char2num(s):return digits[s]def to_int(x, y):return x*10 + ym = 0for b in s:if b == '.':s1 = map(char2num, s[:m])s2 = map(char2num, s[m+1:])num1 = reduce(to_int, s1)num2 = reduce(to_int, s2)/10**len(s[m+1:])return num1+num2breakm = m+1 print('str2f...

Python map() 函数 特殊用法

Python map() 函数 Python 内置函数 描述 map() 会根据提供的函数对指定序列做映射。 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。 语法 map() 函数语法: map(function, iterable, …) 参数 function – 函数 iterable – 一个或多个序列 返回值 Python 2.x 返回列表。 Python 3.x 返回迭代器。 实例 以下实例展示了 map() 的使用方法:def square(x) : ...

Python基础之map&reduce&filter【代码】

map map(function, iterable…) map对列表中的每一个元素都调用function函数进行处理,返回一个新的列表。 d = [1, 2, 3] def func(s):return s*100print(map(func, d)) print(type(map(func, d))) print(list(map(func, d)))结果: <map object at ......> <class 'map'> [100, 200, 300][注]:map可以处理多个可迭代对象,如果传入的可迭代对象长度不一致,则以最短的为基准处理。 reduce functools.reduce(function, iterable, ...

python – map()函数获取输入【代码】

我试图从用户那里得到一个特殊的输入,然后将其保存在类似字典的内容中.我想到的输入是这样的:>>> id 1230我希望它以以下形式保存:{"id":1230}要么[(id,1230)]我的问题是实际上有两个变量,一个是字符串,另一个是整数,所以不知何故我从用户那里得到一条线,然后第一和第二部分应该分开并保存在我提到的一种形式中.我知道它与map()函数有关,也许还使用了lambda表达式.我使用这样的代码得到两个整数:x,y = map(int,input().split())但...

Python Map()反向【代码】

是否有一个函数,它接受一个函数列表和一个输入,并在输入上输出函数列表? 所以喜欢地图,但倒退:>>>map(lambda x: 2*x,[1,2,3,4,5,6,7,8,9]) [2, 4, 6, 8, 10, 12, 14, 16, 18] >>>reverseMap([lambda x: x**2,lambda x: x**3],3) [9,27]解决方法:实际上你可以使用地图来做到这一点:>>> map(lambda f: f(3), [lambda x: x**2,lambda x: x**3]) [9, 27]使用要作为iterable应用的函数列表,然后将它们中的每一个应用于输入(在本例中为...

python中,map()对象,只能循环遍历一轮,之后为空的原因

学习python,按照之前编程的思路,写了如下代码 A_object = map(str,range(3)) A_list = list(A_object) B_list = list(A_object) 观察A_list,其值为 [1,2,3] 观察B_list,其值为 [] 也就是说,A_list获取了一次A_object的值后, A_object就变为空了。 这是为何呢? 后来找了下资料,发现原因了。 这是由于,map函数返回的,是一个“可迭代对象”。 这种对象,从数据结构上类似于单向链表, ob_1->bo_2->bo_3->.... 循环取得对象...

python学习-29 map函数-filter函数【代码】

movie_person = [小红,小明,小王,富豪_sb,美女_sb]def filter_test(array):ret = []for i in array:if not i.startswith(小): # 以‘小’开头的ret.append(i)return ret print(filter_test(movie_person))def filter_test(array):res = []for i in array:if not i.endswith(sb): # 以‘sb’结尾的res.append(i)return res print(filter_test(movie_person))运行结果:[富豪_sb, 美女_sb] [小红, 小明, 小王]Process finished...

推荐评估指标python版本precision/recall/ndcg/map/mrr

#已经取了前k个 def precision_and_recall(ranked_list, ground_list):hits = 0for i in range(len(ranked_list)):id = ranked_list[i]if id in ground_list:hits += 1pre = hits / (1.0 * len(ranked_list) if len(ground_list) != 0 else 1)rec = hits / (1.0 * len(ground_list) if len(ground_list) != 0 else 1)return pre, recdef IDCG(n):idcg = 0for i in range(n):idcg += 1 / math.log(i + 2, 2)return idcgdef nDCG(ran...

python – 有一些numpy.map?【代码】

我可能会遗漏一些明显的东西,但我缺少一个函数numpy.map.那将是与Python的map函数相同,但是在numpy数组中收集输出.例如,我可以有一个图像生成器genImage(i)基于单个输入生成一个2D图像(大小(m,n)),我想输入范围(k)到我的生成器函数并获得一个(k,m,n)数组. 目前,我会使用numpy.array(list(genImage,range(k))),但我觉得这个转换成列表是相当低效的(我的最终数组大小约为50 GB).我正在寻找对于numpy.map(genImage,range(k)),它类似于...

python – Concurrent.futures:map()与submit()的用例是什么?

我正在浏览Python concurrent.futures模块并使用它来熟悉并行/并发编程模型.不幸的是,由于它是一个相对较新的模块,我找不到大量面向初学者的文献. 我知道map()返回通过进程或线程在iterable上调用的函数的直接返回值.并且submit()返回一个期货对象. 我想更多地解释为什么人们会选择使用其中一个.似乎map()更适用于不需要协调的明确并行任务.而submit()可能对复杂的并发用例更有用.但是,我对此很陌生,并希望有更多知识渊博的人能够扩...

python – 使用Scippy的ndimage.map_coordinates进行插值时出现意外结果【代码】

我想在以下数据上插入(x,y)的多个用户输入:| >=0 1 2 3 4 5 >=6------------------------------------------->=09 <10 | 6.4 5.60 4.8 4.15 3.5 2.85 2.2>=10 <11 | 5.3 4.50 3.7 3.05 2.4 1.75 1.1>=11 <12 | 4.7 3.85 3.0 2.35 1.7 1.05 0.4>=12 | 4.2 3.40 2.6 1.95 1.3 0.65 0.0如果用户输入x = 2.5和y = 9,则模型应返回4.475.另一方面,如果用户输入x = 2.5和y = 9.5,则模型应返回3.925. 我使用map_coordinates,...

python实现LRU置换算法、LFU置换算法(补充self.map的使用和字典的方法)【代码】

关于本地存放的映射关系map: 本质上是一个空字典:self.map={} 每次新增一个节点node,都会把node的key, value放入map中: self.map[key] = node ==> self.map的样子应该是{key1:node1, key2:node2} (注意:node是一个自定义的新的类,详见:https://www.cnblogs.com/marvintang1001/p/11125619.html ) 取出字典一个键值对(返回的是值): node = self.map[key] (这是非安全方法,如果没有这个key会报错。安全方法:value =...

python – 多处理pool.map不按顺序处理列表【代码】

我有这个脚本来并行处理一些网址:import multiprocessing import timelist_of_urls = []for i in range(1,1000):list_of_urls.append('http://example.com/page=' + str(i))def process_url(url):page_processed = url.split('=')[1]print 'Processing page %s'% page_processedtime.sleep(5)pool = multiprocessing.Pool(processes=4) pool.map(process_url, list_of_urls)该列表是有序的,但是当我运行它时,脚本不会按顺序从列表...

python – map_reduce()*和* find()在同一个查询中【代码】

我发现了一堆map_reduce教程,但它们似乎都没有“where”子句或其他任何方式来排除正在考虑的文档/记录.我正在研究一个看似简单的查询.我有一个带有时间戳,IP地址和活动ID的事件的基本日志文件.我想获得给定广告系列在给定时间戳范围内的唯一身份用户数.听起来很简单! 我构建了一个查询对象,如下所示: {‘ts’:{‘$gt’:1345840456,’$lt’:2345762454},’cid’:’2636518’} 有了这个,我尝试了两件事,一件使用distinct,另一件...