python - 列表列表的总和

标签 python list methods

我正在寻找 python 中的方法来对仅包含整数的列表列表求和。 我看到 sum() 方法仅适用于列表,但不适用于列表列表。 有适合我的吗?

谢谢

最佳答案

您可以在此处将 sum() 与生成器表达式一起使用:

In [18]: lis = [[1, 2], [3, 4], [5, 6]]

In [19]: sum(sum(x) for x in lis)
Out[19]: 21

或:

In [21]: sum(sum(lis, []))
Out[21]: 21

timeit 比较:

In [49]: %timeit sum(sum(x) for x in lis)
100000 loops, best of 3: 2.56 us per loop

In [50]: %timeit sum(map(sum, lis))
100000 loops, best of 3: 2.39 us per loop

In [51]: %timeit sum(sum(lis, []))
1000000 loops, best of 3: 2.21 us per loop

In [52]: %timeit sum(chain.from_iterable(lis))       # winner 
100000 loops, best of 3: 1.43 us per loop

In [53]: %timeit sum(chain(*lis))
100000 loops, best of 3: 1.55 us per loop

关于python - 列表列表的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13334722/

相关文章:

python - 我怎样才能使用冒号(:) in variable

c++ - 为什么我的 forloop,在我的 lexical_words 函数中,没有将我的字符串数组 ('keyWords"中的单词与我的字符串迭代器中的单词进行比较?

r - 实现严格的重载方法签名以防止误用

java - 在我没有调用的方法上执行期间出错

python - tensorflow 中的平均精度(mAP)

Python 日志记录和 Pydev 调试器?

python - Django ValueError : Field 'id' expected a number but got 'S'

python - 如何将所有列表元素添加到另一个列表中

design-patterns - 参数检查调用者和被调用者之间的责任?

python - 如何添加具有相同名称的 pandas 列的值?