我正在处理一个python挑战问题,我必须在子列表中获得第二高的值。我的代码工作正常,但我想看看我是否可以缩短它。主要是我想创建一个包含输入子列表的列表。这是通过for循环实现的,但我确信我可以通过列表理解获得相同的结果。评论是代码是我第一次尝试失败。
if __name__ == '__main__':
grade = []
# m = [[input(), float(input())]] for _ in range(int(input()))]
for _ in range(int(input())):
name = input()
score = float(input())
peeps= [name, score]
grade.append(peeps)
print(sorted(grade, key=operator.itemgetter(1))[1][0])
此外,我想知道是否可以使用列表理解来编写print语句,而不是导入运算符和切片。
谢谢!