我正在尝试简化我的代码,但答案是错误的

WSS*_*WSS 1 python

这是我的代码(它是对的):

 if __name__ == '__main__':
    n = int(input())
    arr = map(int, input().split())
    l = list(set(sorted(arr)))
    l.remove(max(l))
    print(max(l))
Run Code Online (Sandbox Code Playgroud)

但我想这样做(pythonic):

if __name__ == '__main__':
    n = int(input())
    arr = map(int, input().split())
    l = list(set(sorted(arr)))
    print(l.remove(max(l)))
Run Code Online (Sandbox Code Playgroud)

所以..当我这样做时,我的代码只是打印:

打印(l.remove(MAX(1)))

没有

有什么问题?我只想简化我的代码.

任务:我有一个列表,我想打印第二个最高分.

sty*_*ybl 5

看一下文档.该list.remove方法是就地修改列表的方法.也就是说,它会修改您调用它的列表,而不是返回具有所需更改的新列表.

由于此函数不返回任何内容,因此打印l.remove()会显示"无".要删除元素打印列表,您必须坚持使用原始代码.