所以我是编码的新手,我试图在同一列表中获得最大和最小数目。
我尝试使用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'
答案 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)
的工作,其中min
和max
是O(n)
,通常最好只进行两次遍历,一次遍历min
, max
一个。
答案 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