python - 如何将相同的键作为值分配给字典中的重复键
问题描述
如果字典像
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 }
解决方案
你可以这样做:
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}
推荐阅读
- python - 比较 Python 字典中的值和打印键
- ios - 在 SwiftUI ForEach-View 中是否有一种方便的方法可以将元素的值与其前身进行比较?
- java - 获取致命异常:在 workmanager 中调用协程时出现 java.lang.IncompatibleClassChangeError
- azure - 如何将特定的 Azure 资源信息(创建和删除资源的标记)写入 Azure Log Analytics Workspace?
- javascript - 根据图像数量减慢微调器
- go - 在 for 循环中使用 int64 作为迭代器
- ruby-on-rails - 为什么`where`方法不起作用,不像`find`?
- html - 如何让树视图中的父树项成为链接
- list - 如何在pdfplumber中迭代.extracttext
- facebook-graph-api - 上传附件失败 Facebook 附件上传 API