我有一个输入列表,我想创建另一个不包含最大值的列表,并获取新列表的总和
到目前为止,这是我的代码:
arr= list(map(int, input().rstrip().split()))[:5]
print(arr)
x=list(sum(arr[x] if x!= max(arr)))
print(x)
但是,当我输出它时会出现语法错误,我不确定代码中的问题在哪里。如果有人也可以解释如何使用列表推导,将很有帮助。
答案 0 :(得分:0)
可以尝试:
l = [1,3,5,8,9]
l_copy = l.copy() # just not to mutate the original list
l_copy = l_copy.remove(max(l_copy))
res = sum(l_copy)
说明:
max(l_copy) # return the max value in l
l_copy = l_copy.remove(max(l_copy)) # remove the max value of the list
sum(l) # sum all list except the max value
请注意输入空列表。