重新整理以下数据的pythonic方法是什么?
我有数据
data = [
['a','b',1], ['a','b',2], ['a','b',3],
['a','c',3], ['a','c',4],
['f','g',2], ['f','g',5], ['f','g',9]
]
我想将其重新排列为以下格式:
data = [
['a', 'b', 1, 2, 3],
['a', 'c', 3, 4],
['f', 'g', 2, 5, 9]
]
因此,基本上每个内部列表中的前两个元素是区分不同项目的方式,而后面的数字是数据。我只想为包含所有数据的每一项设置一行。
import collections
keyed = collections.defaultdict(list) # (a,b): [1,2,3]
for k1,k2,val in data:
keyed[(k1,k2)].append(val)
[list(keys) + vals for keys,vals in sorted(keyed.items())]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句