如何将键值对减少到键和值列表?
发布时间:2020-12-20 11:38:51 所属栏目:Python 来源:网络整理
导读:让我们假设,我在Spark中有一个键值对,如下所示. [ (Key1,Value1),(Key1,Value2),Vaue3),(Key2,Value4),Value5) ] 现在我想减少这个,就像这样. [ (Key1,[Value1,Value2,Value3]),[Value4,Value5]) ] 也就是说,从Key-Value到Key-List of Values. 我如何使用map
让我们假设,我在Spark中有一个键值对,如下所示.
[ (Key1,Value1),(Key1,Value2),Vaue3),(Key2,Value4),Value5) ] 现在我想减少这个,就像这样. [ (Key1,[Value1,Value2,Value3]),[Value4,Value5]) ] 也就是说,从Key-Value到Key-List of Values. 我如何使用map和reduce函数在python或scala中做到这一点? 解决方法
collections.defaultdict可以是解决方案
https://docs.python.org/2/library/collections.html#collections.defaultdict
>>> from collections import defaultdict >>> d = defaultdict(list) >>> for key,value in [('Key1','Value1'),('Key1','Value2'),'Vaue3'),('Key2','Value4'),'Value5') ]: ... d[key].append(value) >>> print d.items() [('Key2',['Value4','Value5']),[ 'Value1','Value2','Vaue3'])] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |