这是一个嵌套循环的问题,我必须按字母顺序找到学生的名字,并以第二低的分数表示。
我收到以下错误:在Python中嵌套列表排序
Traceback (most recent call last):
File "solution.py", line 12, in <module>
if (l[i][0]==l[0][0]):
IndexError: list index out of range
以下是我完整的代码。
l=list()
p=list()
q=list()
for i in range (int(raw_input())):
p=[raw_input(),int(raw_input())]
p.reverse()
l.append(p)
l.sort()
print len(l)
for i in range(0,len(l)):
print "i= ",i
if (l[i][0]==l[0][0]):
l.remove(l[i])
print l
for i in range(0,len(l)):
if (l[i][0]==l[0][0]):
q.append(l[i][1])
q.sort()
for i in range(0,len(q)):
print q[i]
我甚至已经打印了显示值在指定范围内的索引。请运行该功能查找以下输出:
4
i= 0
i= 1
i= 2
i= 3
我会高兴,如果我从我的社区更好的方法,但我最关心的是我得到“索引超出范围”。它没有按错误在这里看起来不错
您正在打印'i',但不是'l'。 – melpomene
不要删除循环中的元素 – galaxyan