首页 > 解决方案 > 如何将相同的键作为值分配给字典中的重复键

问题描述

如果字典像

my_dict = {0:"Sara", 1:"Jessica",2:"monica", 3:"sara" }

是否可以替换键 3 的值(3:“sara”) sara 应该替换为 0 的键。

例如字典就像,

my_dict = {0:"Sara", 1:"Jessica",2:"monica", 3:0 }

标签: python

解决方案


你可以这样做:

my_dic = {0: "Sara", 1: "Jessica", 2: "monica", 3: "sara"}

first_occurance = {}

for k, v in my_dic.items():
    v = v.upper()
    if v not in first_occurance:
        first_occurance[v] = k

result_dict = {}
occured = []

for k, v in my_dic.items():
    upper_v = v.upper()
    if upper_v in occured:
        result_dict[k] = first_occurance[upper_v]
    else:
        result_dict[k] = v
        occured.append(upper_v)

result_dict

# {0: 'Sara', 1: 'Jessica', 2: 'monica', 3: 0}

推荐阅读