Я пытаюсь выяснить, как «объединить» два объекта вместе. Моя цель здесь состоит в том, чтобы объединить два объекта Album
(код ниже). Мне нужно объединить аргумент tracks
(которые являются списками) нескольких объектов Album
, только если аргумент 'title' объекта Album
тот же.«Слияние» двух объектов в python
В принципе, если у меня есть Album
объекта, где длина tracks
аргумента 1 и другой альбом объект, где длина tracks
аргумента также является 1, новым или обновленным сингулярным Album
объекта должно иметь tracks
аргумент с длиной 2.
Я разместил свой код, чтобы показать, как объекты определены.
Заранее благодарен!
Редактировать: Поскольку каждый элемент в списке аргументов tracks
- это имена песен, я хотел бы сохранить одни и те же элементы и поместить их в новый или обновленный аргумент tracks
. Вместо того, чтобы просто изменять количество элементов, мне нужно иметь точные элементы от каждого объекта, помещенного в этот «новый» объект.
class Album(object) :
def __init__(self, artist, title, tracks = None) :
tracks = []
self.artist = artist
self.title = title
self.tracks = tracks
def add_track(self, track) :
self.track = track
(self.tracks).append(track)
print "The track %s was added." % (track)
def __str__(self) :
if len(self.tracks) == 1 :
return "Artist: %s, Album: %s [" % (self.artist, self.title) + "1 Track]"
return "Artist: %s, Album: %s [" % (self.artist, self.title) + str(len(self.tracks)) + " Tracks]"
Что вы имеете в виду, 'имеют точные элементы от каждого объекта, помещенного в этот« новый »объект. '? – Kasramvd
@ Kasra Если список 'tracks' альбома Album 1' '' '' '' '' '' ', а список' tracks 'альбома 2 объекта альбома' ['two'] ', то окончательный список' tracks' будет '['one' , 'two'] '. Я помещаю эту информацию, потому что мне не нужны только длины двух добавленных списков, я хочу, чтобы элементы были добавлены в новый список. –
Я добавляю ответ! – Kasramvd