這是一個嵌套循環的問題,我必須按字母順序找到學生的名字,並以第二低的分數表示。
我收到以下錯誤:在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