Remove duplicate according to a callback
<p>Much like <code>filter</code> work, I'd like to be able to remove the duplicate items from a sequence but according to the return value of a callback.</p>

<p><code>set</code> doesn't allow that.</p>

<pre><code>my_list = [{'foo': 330}, {'foo': 560}, {'foo': 320}]

# What I would like:
remove_duplicate(my_list, lambda val: int(val['foo']/100))

# Would return
[{'foo': 330}, {'foo': 560}]
# or
[{'foo': 560}, {'foo': 320}]
</code></pre>

<p>I do not actually care about the order or which get to be kept, I consider all these data as duplicate.</p>

<p>Ideally, I'm looking for a built-in way to do this.</p>