两个键与python中的一个键具有相同的值

时间:2015-05-24 16:14:00

标签: python dictionary

在一个词典中,我想合并具有相同值的键。

开始
d = {'a' : '100', 'b' : '100'}

d = {'a;b' : '100'}

有直接的方法吗?

2 个答案:

答案 0 :(得分:1)

通过理解,如果键值等于给定值,则按字母顺序连接键。

combo = {';'.join(sorted(k for k in d.keys() if d[k] == v)): v for v in set(d.values())}

答案 1 :(得分:0)

d = { 'a': 100, 'b': 100, 'c': 10 }

tmp = {}
for key, value in d.items():
  if value in tmp:
    tmp[value].append(key)
  else:
    tmp[value] = [ key ]
print tmp # {10: ['c'], 100: ['a','b']}

e = {}
for value, keys in tmp.items():
  e[';'.join(keys)] = value

print e # {'a;b': 100, 'c': 10}
相关问题