title: Python, remove duplicates from list and convert to one2many
body: <p>Being a python newbie I need to solve this pretty simple thing.
  Say I have a class:</p>
  
  <pre><code>class Event():
    eid = 0
    events = []
  
    def __repr__(self):
      return "id:"+str(self.eid) + "=&gt;" + str(self.events)
  
    def __str__(self):
      return self.__repr__()
  </code></pre>
  
  <p>Lets create some instances and save them into a list</p>
  
  <pre><code>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)
  </code></pre>
  
  <p>print eventset gives:</p>
  
  <pre><code>[id:0=&gt;[('1', '2', '3', 'A')], id:0=&gt;[('7', '8', '9', 'A')], id:1=&gt;[('4', '5', '6',   'A')], id:1=&gt;[('10', '11', '12', 'A')]]
  </code></pre>
  
  <p>I want to create a new list which will look like :</p>
  
  <pre><code>[id:0=&gt;[('1', '2', '3', 'A'),('7', '8', '9', 'A')], id:1=&gt;[('4', '5', '6','A'),('10', '11', '12', 'A')]]
  </code></pre>
  
  <p>How to do this elegant a "Pythonic way" ?</p>
  
  <p>EDIT: </p>
  
  <ol>
  <li><p>Need to preserve order of Event elements on the list</p></li>
  <li><p>Do not want to create new Event instance copy </p></li>
  </ol>