Dictionary 映射到字典中多个键的值

Dictionary 映射到字典中多个键的值,dictionary,Dictionary,例如,我尝试在字典中组合具有相同值的键 di={'dog':'A','cat':'A'} 成为 {'A':['dog','cat']} 我可以把字典翻过来没有问题,但似乎无法编写一种组合键的方法。有人有什么建议吗?谢谢 这是我的代码,它反转了键和值,但删除了所有具有相同值的键。有没有一种简单的方法来保存所有的键和值 for k, v in dict1.items(): for k, v in sorted(dict1.items(), key = lambda (k, v): k):

例如,我尝试在字典中组合具有相同值的键 di={'dog':'A','cat':'A'}

成为

{'A':['dog','cat']}


我可以把字典翻过来没有问题,但似乎无法编写一种组合键的方法。有人有什么建议吗?谢谢

这是我的代码,它反转了键和值,但删除了所有具有相同值的键。有没有一种简单的方法来保存所有的键和值

for k, v in dict1.items():
    for k, v in sorted(dict1.items(), key = lambda (k, v): k):
        dict2[v] = k



return dict2

如果你想给一个值分配两个键,你就错过了字典的要点。如果您要这样做,那么首先将值作为关键将更有意义。或者,如果您认为值本身需要值,那么可以使用一个有层次结构的树。我想我要问的比这更简单,而且对于Python来说是全新的,也许我没有明确要求。如果我有多个具有相同值的键,我要做的是将它们组合在一起。这是否意味着我必须使键成为值,反之亦然?实际上,我看到我的一些代码是多余的。我拿出了第一条线。我仍然从字典中得到相同的答案,其中键和值被翻转,但它消除了其中一个键-值对,因为它们都具有相同的原始值。使用for循环、反转键和值以及使用append来计算。