Python初心者なので、この非常に単純なことを解決する必要があります。クラスがあるとします:
class Event():
eid = 0
events = []
def __repr__(self):
return "id:"+str(self.eid) + "=>" + str(self.events)
def __str__(self):
return self.__repr__()
いくつかのインスタンスを作成してリストに保存しましょう
eventset = list()
e1 = Event()
e1.eid = 0
e1.events = [('1','2','3','A')]
e3 = Event()
e3.eid = 1
e3.events = [('4','5','6','A')]
e2 = Event()
e2.eid = 0
e2.events = [('7','8','9','A')]
e4 = Event()
e4.eid = 1
e4.events = [('10','11','12','A')]
eventset.append(e1,e2,e3,e4)
print イベントセットは次のようになります。
[id:0=>[('1', '2', '3', 'A')], id:0=>[('7', '8', '9', 'A')], id:1=>[('4', '5', '6', 'A')], id:1=>[('10', '11', '12', 'A')]]
次のような新しいリストを作成したい:
[id:0=>[('1', '2', '3', 'A'),('7', '8', '9', 'A')], id:1=>[('4', '5', '6','A'),('10', '11', '12', 'A')]]
これをエレガントな「Pythonicな方法」で行うにはどうすればよいですか?
編集:
リスト上の Event 要素の順序を保持する必要がある
新しいイベント インスタンスのコピーを作成したくない