我有一个列表列表:
a = [[2,3,4,5],[1,3,2,7]]
我想分别对每个子列表中的连续配对值求和以输出:
[[5,9],[4,9]]
并使用以下但未按需获取:
b = [sum(a[i:i+2]) for i in xrange(0,len(a),2)]
任何建议将不胜感激。
我有一个列表列表:
a = [[2,3,4,5],[1,3,2,7]]
我想分别对每个子列表中的连续配对值求和以输出:
[[5,9],[4,9]]
并使用以下但未按需获取:
b = [sum(a[i:i+2]) for i in xrange(0,len(a),2)]
任何建议将不胜感激。
使用嵌套列表推导。
>>> a = [[2,3,4,5],[1,3,2,7]]
>>> [[sum(sublist[i:i+2]) for i in xrange(0,len(sublist),2)] for sublist in a]
[[5, 9], [4, 9]]
使用函数的等效,更易于阅读的版本:
>>> def paired_sum(a):
... return [sum(a[i:i+2]) for i in xrange(0,len(a),2)]
...
>>> [paired_sum(sublist) for sublist in a]
[[5, 9], [4, 9]]
>>> map(paired_sum, a)
[[5, 9], [4, 9]]