title: Find duplicates in python list of dictionaries
body: <p>I have kind of dictionary below: </p>
  
  <pre><code>a = [{'un': 'a', 'id': "cd"}, {'un': 'b', 'id': "cd"},{'un': 'b', 'id':    "cd"}, {'un': 'c', 'id': "vd"},
      {'un': 'c', 'id': "a"}, {'un': 'c', 'id': "vd"}, {'un': 'a', 'id': "cm"}]
  </code></pre>
  
  <p>I need to find the duplicates of dictionaries by 'un' key, for example this {'un': 'a', 'id': "cd"} and this {'un': 'a', 'id': "cm"} dicts are duplicates by value of key 'un' secondly when the duplicates are found I need to make decision what dict to keep concerning its second value of the key 'id', for example we keep dict with pattern value "cm".</p>
  
  <p>I have already made the firs step see the code below:</p>
  
  <pre><code>from collections import defaultdict
  temp_ids = []
  dup_dict = defaultdict(list)
  for number, row  in enumerate(a):
      id = row['un']
      if id not in temp_ids:
          temp_ids.append(id)
      else:
          tally[id].append(number)
  </code></pre>
  
  <p>Using this code I more or less able to find indexes of duplicate lists, maybe there is other method to do it. And also I need the next step code that makes decision what dict keep and what omit. Will be very grateful for help.</p>