【问题标题】:Retrieve largest negative number and smallest positive number from list [closed]从列表中检索最大的负数和最小的正数[关闭]
【发布时间】:2015-01-14 16:35:49
【问题描述】:

给定一个整数列表,例如:

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

是否有一种 Pythonic 方式来检索列表中的最大负数(例如 -1)和列表中的最小正数(例如 4)?

【问题讨论】:

  • 0 应该在哪里结束(如果存在)?并且不要命名您自己的列表list

标签: python list max min negative-number


【解决方案1】:

您可以只使用列表推导:

>>> 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

【讨论】:

  • 你也可以在这里使用生成器表达式(我建议不要将其命名为l,也许是lst——l 在某些字体中看起来太像1
  • 好的,我更改了变量名,尽管这有点离题。要使用生成器表达式,请将 [] 更改为 ()。我会将列表形式留在答案中,以便任何不熟悉它的人(就像任何与 OP 有相同问题的人一样)更清楚。
  • 要使用生成器表达式,您可以完全删除 []。例如max(n for n in some_list if n &lt; 0) 习惯后看起来干净多了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-17
  • 2012-12-16
  • 1970-01-01
  • 2019-09-10
  • 2014-07-20
  • 2018-04-09
  • 2019-12-09
相关资源
最近更新 更多