有没有办法列出子类值?我希望'by'变量成为第一个并按.number子类排序整个列表。
class Abcd:
def __init__(self, name, number):
self.name = name
self.number = number
ax = Abcd("a", 20)
by = Abcd("b", 1)
lst = [ax, by]
print lst[0]
list.sort(lst)
print lst[0]
答案 0 :(得分:1)
这应该做。我所做的只是为sort函数添加一个键,以及一些使打印看起来更好的东西,但这些并不是必需的。
class Abcd:
def __init__(self, name, number):
self.name = name
self.number = number
def __str__(self):
return "{} and {}".format(self.name, self.number)
def __repr__(self):
return self.__str__()
ax = Abcd("a", 20)
by = Abcd("b", 1)
lst = [ax, by]
print str(lst)
list.sort(lst, key=lambda x: x.number)
print str(lst)