在python中,如何用dictionary中的键替换该值?

在python中,如何用dictionary中的键替换该值?,python,Python,我希望函数inverse返回此输出: {3: ['I', 'love'], 2: ['python']} 该函数将替换键和值,但如果相同的值存在两次,则为一个键。我该怎么做? //代码如下: def inverse(dict1): def main(): dict1 = {'I': 3, 'love': 3, 'python': 2} print(inverse(dict1)) if __name__ == "__main__":

我希望函数inverse返回此输出:

{3: ['I', 'love'], 2: ['python']}
该函数将替换键和值,但如果相同的值存在两次,则为一个键。我该怎么做? //代码如下:

def inverse(dict1):

   def main():
        dict1 = {'I': 3, 'love': 3, 'python': 2}
        print(inverse(dict1))

    if __name__ == "__main__": 
        main()

您可以按如下方式执行此操作:

dict1={'I': 3, 'love': 3, 'python': 2}
res_dict={}
for key,val in dict1.items():
    if res_dict.has_key(val):
        res_dict[val].append(key)
    else:
        res_dict[val]=[key]

你有没有试过?我真的不知道怎么做。我不知道如何在不知道值和键是什么的情况下替换它们。