In [200]: %timeit max(max(a),-min(a))
100 loops, best of 3: 8.82 ms per loop
In [201]: %timeit abs(max(a,key=abs))
100 loops, best of 3: 13.8 ms per loop
In [202]: %timeit max(map(abs,a))
100 loops, best of 3: 13.2 ms per loop
In [203]: %timeit max(abs(n) for n in a)
10 loops, best of 3: 19.9 ms per loop
In [204]: %timeit np.abs(a).max()
100 loops, best of 3: 11.4 ms per loop
4条答案
按热度按时间w6mmgewl1#
内置的
max
接受一个key函数,你可以把它作为abs
传递:您可以对结果再次调用
abs
来规范化结果:new9mtju2#
它是目前最快的,因为没有创建中间列表(对于100 000个值):
mwkjh3gx3#
使用
map
,并将abs
作为函数传递,然后对该函数调用max:ulmd4ohb4#
您可以将
max()
与生成器理解一起使用: