首页 > 其他分享 >reduce

reduce

时间:2024-03-03 17:13:00浏览次数:18  
标签:10 res reduce lst func strvar

reduce

reduce(func,iterable) 是一个功能性函数,用于计算数据。它把 iterable 中的前两个数据扔到 func 函数中做计算,然后把计算的结果和 iterable 中第三个值继续扔到 func 中做计算,以此类推,最后返回计算的结果。

参数:

  • func: 自定义函数
  • iterable : 可迭代对象(容器类型数据,range对象,迭代器)

返回值:

  • 计算的结果

示例

[7,7,5,8] => 7758
lst = [7,7,5,8]

strvar = ""
for i in lst:
	strvar += str(i)
res = int(strvar)
print(res , type(res))

使用 reduce 改写:

from functools import reduce
lst = [7,7,5,8]
def func(x,y):
	return x * 10 + y
res = reduce(func,lst)
print(res)

# 使用lambda 进行改造
print(reduce(lambda x,y: x*10 + y,lst))
"123" => 123 不使用int的情况下实现该操作
strvar = "123"
def func(x,y):
	return x * 10 + y

def func2(n):
	dic = {}
	for i in range(10): #创建字符串key 数字value字典
		dic[str(i)] = i	
	return dic[n]

it = map(func2,strvar)
print(reduce(lambda x,y: x*10 + y,it))

标签:10,res,reduce,lst,func,strvar
From: https://www.cnblogs.com/wbcde116/p/18050299

相关文章

  • MIT 6.5840 MapReduce Lab
    MapReduceMapReduce是一种编程模型,其思想是让程序员通过编写简单的Map和Reduce程序就能完成分布式系统的任务,而不需要关注分布式的具体细节。用户自定义的Map函数接受一个key/valuepair的输入值,然后产生一个中间key/valuepair值的集合。MapReduce库把所有具有相同中......
  • reduce()的用法
    array.reduce(function(total,currentValue,currentIndex,arr),initialValue)注释:对没有值的数组元素,不执行reduce()方法。注释:reduce()方法不会改变原始数组。参数描述total必需。initialValue,或函数先前返回的值。currentValue必需。当前元素的值。inde......
  • 【C++】编写一个具有老式风格接口的函数,其原型如下:int reduce(long arr[], int n)。实
    #include<iostream>#include<string>usingnamespacestd;intreduce(longarr[],intn){sort(arr,arr+n);autostr=unique(arr,arr+n);returnstr-arr;}intmain(){longarr[10]={15,8,5,6,11,11,6,6,198,50};......
  • Flink 增量窗口聚合函数 ReduceFunction(归约函数)和AggregateFunction(聚合函数)
    Flink增量窗口聚合函数定义了窗口分配器,只是知道了数据属于哪个窗口,可以将数据收集起来了;至于收集起来到底要做什么,其实还完全没有头绪。所以在窗口分配器之后,必须再接上一个定义窗口如何进行计算的操作,这就是所谓的“窗口函数”(windowfunctions)。经窗口分配器处理之后,数据可......
  • spark为什么比mapreduce快?
    spark为什么比mapreduce快?首先澄清几个误区:1:两者都是基于内存计算的,任何计算框架都肯定是基于内存的,所以网上说的spark是基于内存计算所以快,显然是错误的2;DAG计算模型减少的是磁盘I/O次数(相比于mapreduce计算模型而言),而不是shuffle次数,因为shuffle是根据数据重组的次数而定,所......
  • Hive:构建于 Hadoop 之上、让你像写 SQL 一样编写 MapReduce 程序
    Hive介绍本次我们来聊一聊Hive,它是由Facebook开源的一款基于Hadoop的数据仓库工具,用于解决海量结构化日志的数据统计与分析。Hive通过将结构化的数据映射为一张表,并提供类SQL查询功能,让开发人员能够编写SQL进行数据分析。在介绍Hadoop的时候我们说过,使用MapReduce......
  • 无涯教程-reduceRight()函数
    reduceRight()方法将数组元素计算为一个值(从右到左),以将其简化为单个值。reduceRight()-语法array.reduceRight(callback[,initialValue]);callback    - 对数组中的每个值执行的函数。initialValue- 用作首次调用回调的第一个参数的对象。reduceRigh......
  • 无涯教程-reduce()函数
    reduce()方法将数组元素计算为一个值(从左到右),以将其简化为单个值。reduce()-语法array.reduce(callback[,initialValue]);callback    - 对数组中的每个值执行的函数。initialValue - 用作首次调用回调的第一个参数的对象。reduce()-返回值返回......
  • Hive参数调优:如何控制reduce个数与参数调优(合并小文件和拆分大文件)
    reduce的个数一般最后决定了输出文件的个数,如果想多输出文件的个数(这样文件变小,但有可能程序变慢),那么可以人为增加reduce个数。如果想减少文件个数,也可以手动较少reduce个数(同样可能程序变慢)。但实际开发中,reduce的个数一般通过程序自动推定,而不人为干涉,因为人为控制的话,如果使用......
  • Hadoop之mapreduce参数大全-1
    1.设置Map/Reduce任务允许使用的最大虚拟内存大小mapred.task.maxvmem是MapReduce的一个配置参数,用于指定每个Map/Reduce任务允许使用的最大虚拟内存大小(以字节为单位)。如果一个任务使用的虚拟内存超过了此参数指定的值,则任务会被认为是失败的,并且MapReduce集群会尝试重新分配任......