Skip to main content
 首页 » 编程设计

Python求和然后乘以几个列表的值

2025年05月04日11cyq1162

有没有办法把下面的代码写成一行?

my_list = [[1, 1, 1], [1, 2], [1, 3]] 
result = 1 
for l in list: 
    result = result * sum(l) 

请您参考如下方法:

对从 map 获得的summed 子列表使用reduce。

这样做:

>>> from functools import reduce 
>>> reduce(lambda x,y: x*y, map(sum, my_list)) 
36 

在 python 2.x 中,将不再需要 import,因为 reduce 是内置的:

>>> reduce(lambda x,y: x*y, map(sum, my_list)) 
36