【发布时间】:2011-03-25 01:26:12
【问题描述】:
一个字典
dic = {
1: 'a',
2: 'a',
3: 'b',
4: 'a',
5: 'c',
6: 'd',
7: 'd',
8: 'a',
9: 'a'}
我想删除重复值,只保留一对 K/V, 关于那些重复值的“键”选择,它可能是最大值或最小值,或者随机选择那些重复项的键之一。
我不想使用 k/v 交换,因为它无法控制键选择。
以值“a”为例
1: 'a',
2: 'a',
4: 'a',
8: 'a',
9: 'a'
最大键为 {9: 'a'},最小键为 {1: 'a'},随机选择其中任何一个。
而且,如果key是其他类型的hashable值,比如string,那么怎么做这样的选择呢?
谁能分享我的想法?
谢谢!
【问题讨论】:
-
你能翻转它,让键是值,反之亦然吗?
-
OP 确实说“我不想使用 ak/v 交换,因为它无法控制键的选择” - 含糊不清,但我认为这意味着值可能是列表,或者dicts,或其他不能作为键的对象。
标签: python dictionary duplicates