我有这个清单
mylist = [[1.0, 10.0],
[20.0, 1135.0],
[3.0, 5.0]]
Run Code Online (Sandbox Code Playgroud)
我希望按照24.0,1150.0这样的列获得总数
谁能帮我?
>>> 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迭代对象并返回一个列表.
| 归档时间: |
|
| 查看次数: |
57 次 |
| 最近记录: |