为什么max(*list)和max(list)在python中做同样的事情?

Pyt*_*ner 4 python argument-unpacking

见下面的例子:

>>>f = [[1],[2],[3]]
>>>max(f)
Out[21]: [3]
>>>max(*f)
Out[22]: [3]
Run Code Online (Sandbox Code Playgroud)

unpack运算符在这里没有效果,我试图解压缩列表并获得矩阵的最大值(两个暗淡列表).

Wor*_*der 8

max提及的文件:

内置最大

max(可迭代,*[,键,默认])

max(arg1,arg2,*args [,key])

...

如果提供了一个位置参数,则它应该是可迭代的.返回iterable中的最大项.如果提供了两个或多个位置参数,则返回最大的位置参数.

在第一种情况下,您有一个位置参数,在第二种情况下,您有多个.


为了得到你想要的东西,你可以尝试在矩阵中的最大条目

max(entry for row in matrix for entry in row)
Run Code Online (Sandbox Code Playgroud)

这会将一个参数传递给max函数,该函数是一个迭代矩阵中所有条目的生成器 - 触发第一个找到可迭代最大值的情况.