在具有负值和正值混合的列表中,小于0的最高值

pad*_*ddu 6 python list

我有一个包含这些值的列表.

lst1 = [1,-2,-4,-8,-9,-12,0,39,12,-3,-7]
Run Code Online (Sandbox Code Playgroud)

我需要得到小于零的最大值.

如果我这样做print max(last)- 我得到39,所需要的是-2.

print max(p < 0 for p in lst1),我得到真,而不是-2

pad*_*ddu 12

没关系,我想通了,应该是

print max(p for p in lst1 if p < 0)
Run Code Online (Sandbox Code Playgroud)


yur*_*rib 3

只需先过滤列表:

max(filter(lambda x:x<0,ls))
Run Code Online (Sandbox Code Playgroud)