如何在同一列表上使用min()和max()

时间:2019-04-04 22:47:08

标签: python

所以我是编码的新手,我试图在同一列表中获得最大和最小数目。

我尝试使用max(min(max + min

print(max + min(18, 20, 35, 285, 285.01, 300-1))

如何将18和300-1放在一起?我有TypeError: unsupported operand type(s) for +: 'builtin_function_or_method' and 'int'

2 个答案:

答案 0 :(得分:0)

您必须分别运行每个操作,例如:

myvalues = 18, 20, 35, 285, 285.01, 300-1
print(max(myvalues) + min(myvalues))

执行此操作的唯一另一种方法是对其进行排序,并拉出第一个和最后一个元素,例如:

minval, *_, maxval = sorted([18, 20, 35, 285, 285.01, 300-1])
print(maxval + minval)

但是给定排序是O(n log n)的工作,其中minmaxO(n),通常最好只进行两次遍历,一次遍历minmax一个。

答案 1 :(得分:0)

您可以在列表中呼叫max()min()

l = [18,20,35,285,285.01,300-1]

print(min(l), max(l))
print(min(l) + max(l))
  

(18,299)

     

317