如何总结价值?

saj*_*dkk 1 python python-2.7

我有这个清单

mylist = [[1.0, 10.0], 
          [20.0, 1135.0], 
          [3.0, 5.0]]
Run Code Online (Sandbox Code Playgroud)

我希望按照24.0,1150.0这样的列获得总数

谁能帮我?

beh*_*uri 5

>>> list(map(sum, zip(*mylist)))
[24.0, 1150.0]
Run Code Online (Sandbox Code Playgroud)

list 仅在python 3中需要,在python 2中你可能只需: map(sum, zip(*mylist))

说明:

*mylist 列表扩展为其元素,因此zip(*mylist)相当于:

zip(mylist[0], mylist[1], mylist[2])
Run Code Online (Sandbox Code Playgroud)

zip,基本上将它的参数拉到一起,就是它从每个参数中获取一个元素并从中生成一个元组,并对每个参数的下一个元素执行相同的操作,依此类推.所以:

>>> zip(*mylist)
[(1.0, 20.0, 3.0), (10.0, 1135.0, 5.0)]
Run Code Online (Sandbox Code Playgroud)

map获取函数和多个迭代,并将函数迭代地应用于那些迭代,因此例如map(f, xs)相当于:[f(x) for x in xs].

在python 3中,zip返回一个可迭代的zip对象,并map返回一个可迭代的map对象,因此你必须显式调用list迭代对象并返回一个列表.