Python中的類(lèi)是一個(gè)非常強(qiáng)大的概念,可以讓我們創(chuàng)建自定義的數(shù)據(jù)類(lèi)型。當(dāng)我們創(chuàng)建類(lèi)對(duì)象時(shí),有時(shí)需要對(duì)這些對(duì)象進(jìn)行排序。在Python中,我們可以使用sort()函數(shù)來(lái)對(duì)類(lèi)對(duì)象進(jìn)行排序。
class MyClass: def __init__(self, name, age): self.name = name self.age = age students = [ MyClass("Tom", 20), MyClass("Jerry", 18), MyClass("Kate", 22), MyClass("Mike", 19) ] students.sort(key=lambda student: student.age) for student in students: print(student.name + " is " + str(student.age) + " years old.")
在上面的代碼中,我們定義了一個(gè)MyClass類(lèi),它包含一個(gè)name和age屬性。我們創(chuàng)建了一個(gè)包含四個(gè)MyClass對(duì)象的列表students,并使用sort()函數(shù)對(duì)它們進(jìn)行排序。我們傳遞了一個(gè)lambda表達(dá)式作為key參數(shù),它根據(jù)學(xué)生的年齡來(lái)對(duì)列表進(jìn)行排序。
最后,我們使用for循環(huán)遍歷排序后的列表,并打印每個(gè)學(xué)生的姓名和年齡。
我們還可以使用sort()函數(shù)的reverse參數(shù)來(lái)控制升序或降序排序:
students.sort(key=lambda student: student.age, reverse=True)
這將按照年齡降序排序。
總之,Python中的類(lèi)對(duì)象排序非常方便,并且可以通過(guò)使用sort()函數(shù)的不同參數(shù)來(lái)自由控制排序方式。