У меня есть класс с несколькими разными значениями. Я хотел бы иметь возможность сортировать список этих объектов по различным значениям, но я не уверен, как это сделать. Я хотел бы иметь возможность сортировать их для любых значений и для обоих направлений (от наименьшего к наибольшему и наоборот).Как отсортировать список объектов на основе разных значений объектов в python?
В приведенном ниже примере класс образца, а также список объектов выборки:
class Sample(object):
def __init__(self, name, sampleValue1, sampleValue2):
self.name
self.value1 = sampleValue1
self.value2 = sampleValue2
def __repr__(self):
return self.name
# creating sample objects for clarification
objectNames = ['A','B','C','D']
values1 = [3,4,1,2]
values2 = [1,4,2,3]
sampleObjects = list()
for i in xrange(4):
obj = Sample(objectNames[i], values1[i], values2[i])
sampleObjects.append(obj)
Сортировка sampleObjects от каждого из значений объектов должны давать то, что ниже. Сортировка должна возвращать список объектов в указанном порядке (имена объектов используются ниже).
value1: [C,D,A,B]
value1 reversed: [B,A,D,C]
value2: [A,C,D,B]
value2 reversed: [B,D,C,A]