title: Check for unique values in a dictionary and return a list
body: <p>I've been struggling with this exercise for a couple of days now, each approximation I find, have a new problem, the idea is to find those unique values on a dictionary, and return a list with the keys</p>
  
  <p>For example:
  if <code>aDictionary  = {1: 1, 3: 2, 6: 0, 7: 0, 8: 4, 10: 0}</code> then your the function should return <code>[1, 3, 8]</code>, as the values 1,2 and 4 only appear once.</p>
  
  <p>This is what I've tried so far:</p>
  
  <pre><code>def existsOnce(aDict):
  
  counting = {}
  tempList = []
  
  for k in aDict.keys():
      print k,
      print aDict[k]
  
  
  print 'values are:'
  for v in aDict.values():
      print v,
      counting[v] = counting.get(v,0)+1
      print counting[v]
      tempNumbers = counting[v]
      tempList.append(tempNumbers)
  print tempList
  </code></pre>
  
  <p>If I go this way, I can point and delete those that are bigger than one, but the problem persists, I will have one zero, and I don't want it as was not unique in the original list.</p>
  
  <pre><code>def existsOnce2(aDict):
  
  # import Counter module in the top with `from collections import Counter`
  
  c = Counter()
  
  for letter in 'here is a sample of english text':
      c[letter] += 1
      if c[letter] == 1:
          print c[letter],':',letter
  </code></pre>
  
  <p>I tried to go this way with integers and check which ones appear from first time, but cannot translate it to dictionary or keep going from here. Also I'm not sure if importing modules are allowed in the answer and surely have to be a way to do it without external modules.</p>
  
  <pre><code>def existsOnce3(aDict):
  
      vals = {}
      for i in aDict.values():
          for j in set(str(i)):
              vals[j] = 1+ vals.get(j,0)
      print vals
  
      '''till here I get a counter of how many times a value appears in the original dictionary, now I should delete those bigger than 1'''
      temp_vals = vals.copy()
      for x in vals:
          if vals[x] &gt; 1:
              print 'delete this: ', 'key:',x,'value:', vals[x]
              temp_vals.pop(x)
          else:
              pass
      print 'temporary dictionary values:', temp_vals
      '''till here I reduced down the values that appear once, 1, 2 and 4, now I would need the go back and check the original dictionary and return the keys
          Original dictionary: {1: 1, 3: 2, 6: 0, 7: 0, 8: 4, 10: 0}
          temp_vals {'1': 1, '2': 1, '4': 1}
          keys on temp_vals (1,2,4) are the values associated to the keys I got to retrieve from original dictionary (1,3,8)
      '''
      print '---'
  
      temp_list = []
      for eachTempVal in temp_vals:
          temp_list.append(eachTempVal)
      print 'temporary list values:', temp_list
      ''' till here I got a temporary list with the values I need to search in aDict'''
      print '---'
      for eachListVal in temp_list:
          print 'eachListVal:', eachListVal
          for k,v in aDict.iteritems():
              print 'key:',k,'value:',v
  </code></pre>
  
  <p>From here I cannot take the values for whatever reason and compare them, I've tried to extract the values with statements like:</p>
  
  <pre><code>if v == eachListVal:
      do something
  </code></pre>
  
  <p>But I'm doing something wrong and cannot access to the values.</p>