python - 为什么 max(*list) 和 max(list) 在 python 中做同样的事情?
问题描述
请参见下面的示例:
>>>f = [[1],[2],[3]]
>>>max(f)
Out[21]: [3]
>>>max(*f)
Out[22]: [3]
解包运算符在这里没有效果,我正在尝试解包列表并获得矩阵的最大值(两个暗列表)。
解决方案
max
提及的文档:
最大(可迭代,* [,键,默认])
最大值(arg1,arg2,*args[,键])
...
如果提供了一个位置参数,它应该是一个可迭代的。返回可迭代对象中最大的项目。如果提供了两个或更多位置参数,则返回最大的位置参数。
在第一种情况下,您有一个位置参数,在第二种情况下,您有多个。
为了得到你想要的,这是你可以尝试的矩阵中的最大条目
max(entry for row in matrix for entry in row)
这会将一个参数传递给 max 函数,该函数是一个迭代矩阵中所有条目的生成器 - 触发第一个找到可迭代最大值的情况。
推荐阅读
- php - 使用 PHP 从外部 url 下载文件
- c++ - 将文本文件中的单词放入数组
- php - 如何在谷歌云存储上实现缓存作为具有私有对象的 Laravel 文件系统
- matlab - 一个函数如何事先知道它应该在哪里存储它的输出?
- python - KMeans 预测的标签上的 dask compute() 问题
- azure-functions - 来自 Az Function .net5 中查询字符串的字符串数组输入
- python - 创建具有列表值并依赖于另一列的列
- list - SAS检查值是否在变量的动态列表中
- sharepoint-online - 从分类字段中获取值
- google-admin-sdk - 目录 API 查询“不等于”?