我正尝试在Python中学习嵌套列表,问题是找到得分最高的人,该人阅读3个输入,即没有。条目,学生姓名和学生分数。
我执行以下代码时,我的代码工作正常:
ns = []
for _ in range(int(input())):
name = input()
score = float(input())
ns += [[name,score]]
sc = sorted(set([x[1] for x in ns]))
for name in sorted(x[0] for x in ns if x[1] == sc[1]):
print(name)
但是当我尝试执行该代码段时:
ns = [21,21,13,24,45,6]
sc = sorted(set([x[1] for x in ns]))
print(sc)
这给了我错误:
sc = sorted(set([x[1] for x in ns]))
TypeError: 'int' object is not subscriptable
是因为代码段中的列表是整数吗? 如果是这样,该如何实现?为什么要在第一个代码中起作用?