是否有一个单行代码可以在矩阵中找到最大值?

是否有一个单行代码可以在矩阵中找到最大值?,第1张

是否有一个单行代码可以在矩阵中找到最大值?

您可以使用生成器表达式在矩阵中找到最大值。这样,您可以避免在内存中构建矩阵元素的完整列表。

maximum = max(max(row) for row in matrix)

而不是此处先前答案中给出的列表理解

maximum = max([max(row) for row in matrix])

这来自PEP(原理部分):

…许多用例不需要在内存中创建完整列表。相反, 它们只需要一次遍历一个元素。

生成器表达式对于诸如sum(),min()和max()之类的函数特别有用,这些函数将可迭代的输入减少为单个值

当与诸如sum(),min()和 max()的 归约函数结合使用时,生成器表达式的实用性将大大增强。

另外,请看以下SO文章:Generator expressions vs. List
Comprehension



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5648547.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存