У меня есть класс, подобный следующему:
class test(object):
def __init__(self, ID, A, B, C, D, E):
self.ID = ID
self.A = A
self.B = B
self.C = C
self.D = D
self.E = E
И несколько объектов в списке:
test1 = test(6124, 6, 'Tim', 'Football', 'Soccer', 'USA')
test2 = test(6124, 7, 'Joe', 'Basketball', 'Soccer', 'USA')
test3 = test(6188, 8, 'Joe', 'Basketball', 'Soccer', 'USA')
test4 = test(6188, 9, 'Joe', 'Basketball', 'Soccer', 'USA')
test5 = test(6188, 10, 'Tim', 'Football', 'Soccer', 'USA')
objects_list = [test1, test2, test3, test4, test5]
Я хочу объединить эти объекты на основе их атрибута ID, а для остальных атрибутов просто составить список отдельных объектов:
Для этого примера результатом будут два объекта (как только два уникальных идентификатора), один из которых будет иметь атрибуты:
self.ID = 6124
self.A = [6, 7]
self.B = ['Tim', 'Joe']
self.C = ['Football', 'Basketball']
self.D = ['Soccer', 'Soccer']
self.E = ['USA', 'USA]
Как я могу объединить объекты в списке таким образом? Я ищу решение, которое не требует, чтобы я называл какие-либо атрибуты, кроме имени атрибута, с которым я объединяюсь (ID
). Было бы очень хорошо, если бы это решение можно было обобщить для объединения нескольких атрибутов одновременно (скажем, ID
и A
и E
).
Спасибо!
Jack