【发布时间】:2013-11-26 11:33:13
【问题描述】:
如何在不使用任何 python-metods 的情况下按字母顺序对对象列表进行排序? 例如,对于具有属性 Name、Grade 的 Student 类,我尝试编写以下代码,但它不起作用:
for i in range (0, len(studentList)-1):
if studentList[i].getName() > studentList[i+1].getName():
aux = studentList[i].getName()
studentList[i].getName() = studentList[i+1].getName()
studentList[i+1].getName() = aux
【问题讨论】:
-
你研究过排序算法吗?
-
这段代码会导致异常——对于最后一个 i 值(讨厌单字母 id),它会抛出异常
-
我知道冒泡排序、选择排序、快速排序和归并排序,但是不正确的行是 studentList[i].getName() = studentList[i+1].getName() studentList[i+ 1].getName() = 辅助
-
@volcano:不,因为范围仅限于
len(studentList) - 1。 -
@MartijnPieters,没错。 len(studentList) - 1 将给出列表中的最后一个索引
标签: python sorting alphabetical