在一个词典中,我想合并具有相同值的键。
从
开始d = {'a' : '100', 'b' : '100'}
到
d = {'a;b' : '100'}
有直接的方法吗?
答案 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}