我去了一段代码,如下所示:
while numpy.max(abs(A - B)) > 0.01:
Run Code Online (Sandbox Code Playgroud)
我试图numpy.max用一些常规的Python(数学?)函数替换它,但我找不到究竟做了什么numpy.max.
我试过谷歌搜索,但我只发现:
numpy.maximum这与numpy.max我想的不一样.
并且:
numpy.amax这也不是我需要的.
有谁知道如何将这个numpy.max功能复制到一些标准的python中?
编辑:我使用的是Python 2.7
numpy.max是一样的numpy.amax:
>>> import numpy
>>> numpy.max # Notice it says 'amax' in the output
<function amax at 0x0228B5D0>
>>> numpy.max is numpy.amax
True
>>>
Run Code Online (Sandbox Code Playgroud)
或者,更具体地说,max是该amax函数的别名.
此函数的用途列在您给出的文档链接中,但它似乎主要用于查找a内的最大值,numpy.array而不管它有多少嵌套级别.您可以使用一个简单的函数来模仿此行为以展平列表:
def flatten(lst):
for item in lst:
if isinstance(item, list):
# Use 'yield from flatten(item)' in Python 3.3 or greater
for sub_item in flatten(item):
yield sub_item
else:
yield item
Run Code Online (Sandbox Code Playgroud)
和内置max功能:
max(flatten(my_list))
Run Code Online (Sandbox Code Playgroud)
请参阅下面的演示:
>>> def flatten(lst):
... for item in lst:
... if isinstance(item, list):
... for sub_item in flatten(item):
... yield sub_item
... else:
... yield item
...
>>> array = [[1, 2, 3], [4, 5, 6]]
>>> max(flatten(array))
6
>>>
Run Code Online (Sandbox Code Playgroud)