Python 从列表中检索最大负数和最小正数

Python 从列表中检索最大负数和最小正数,python,list,max,min,negative-number,Python,List,Max,Min,Negative Number,给定整数列表,例如: lst = [-5, -1, -13, -11, 4, 8, 16, 32] 是否有一种python方法可以检索列表中最大的负数(例如-1)和列表中最小的正数(例如4)?您可以使用列表理解: >>> some_list = [-5, -1, -13, -11, 4, 8, 16, 32] >>> max([n for n in some_list if n<0]) -1 >>> min([n for n in s

给定整数列表,例如:

lst = [-5, -1, -13, -11, 4, 8, 16, 32]

是否有一种python方法可以检索列表中最大的负数(例如
-1
)和列表中最小的正数(例如
4
)?

您可以使用列表理解:

>>> some_list = [-5, -1, -13, -11, 4, 8, 16, 32]
>>> max([n for n in some_list if n<0])
-1
>>> min([n for n in some_list  if n>0])
4
一些列表=[-5,-1,-13,-11,4,8,16,32] >>>最大值([n表示某些\u列表中的n,如果n>>min([n表示某些\u列表中的n,如果n>0])) 4.
如果存在,那么
0
应该在哪里结束?不要给自己的列表命名
list
。您也可以在此处使用生成器表达式(我建议不要将其命名为
l
,可能
lst
-
l
在某些字体中看起来太像
1
。好的,我更改了变量名,尽管它有点离题。要使用生成器表达式,请将
[]
更改为
()
。我将在答案中保留列表形式,以便任何不熟悉它的人(如与OP有相同问题的人)都能更清楚地看到它。要使用生成器表达式,您可以完全删除
[]
。例如
max(如果n<0,则在某些列表中n代表n)
,在您习惯了它之后,它看起来更清晰。