【发布时间】:2013-05-07 17:33:41
【问题描述】:
我有一个如下所示的元组列表:
lst = [(0, 0), (2, 3), (4, 3), (5, 1)]
累积第一个和第二个元组元素之和的最佳方法是什么?使用上面的示例,我正在寻找生成此列表的最佳方法:
new_lst = [(0, 0), (2, 3), (6, 6), (11, 7)]
我正在寻找 Python 2.6 中的解决方案
【问题讨论】:
-
如果你只想要最后一个元组使用
reduce(lambda x, y: (x[0] + y[0], x[1] + y[1]), lst, (0, 0)) -
不,我想要整个列表,而不仅仅是最后一个元素。请参阅我提供的示例。
-
仅供参考:这将是 haskell 实现:
acc = scanl1 (\acc x -> (fst x + fst acc, snd x + snd acc))
标签: python python-2.6