作为一个 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)
打印事件集给出:
[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 元素的顺序
不想创建新的 Event 实例副本