我有一个场景,试图匹配json数据中的以下元素
a={'n_name': 'APP-Ptyh ', 'n_name': 'Com Don Ctes - Aty ', 'n_name': 'Sce Fbh - Dor Node', 'n_name': 'kke gg - Dor Node'}
b={'n_name': 'APP-Ptyh', 'n_name': 'Com Don Ctes - Aty', 'n_name': 'Sce Fbh - Dor Nomk ', 'n_name': 'kke gg - Dor Node'}
c=[]
我为匹配所做的工作:
if a["n_name"] == b["n_name"]:
c.append(b["n_name"])
这并没有正确匹配元素,因为在a
数据源中,元素APP-Ptyh
在这两个数据源中是相同的,但后面有一个空格。
预期的输出是它应该匹配,而不考虑尾随空格。
关于如何实现这一目标的任何帮助。
这是要存储在列表c
中的匹配元素的期望输出:
c= ['APP-Ptyh', 'Com Don Ctes - Aty', 'kke gg - Dor Node']
你不能有带重复钥匙的听写器。相反,您可以使用单个键,并将具有该键的元素列表作为值
因此,您可以按照以下步骤操作:
1.查看当前元素的(初始设置的)键是否在最终dict中。如果是,请转至步骤3
2.使用密钥更新dict
3.将新值附加到dict[key]列表中
4.重复[1-3]
你的字典有重复的键,这不合适。字典必须有唯一的键(因为它引用了键)。因此,您可以根据自己的目的使用以下实现
代码:
结果:
这是可行的,但时间复杂度不高。如果愿意,最好给出唯一的密钥
确保字典键必须是唯一的
相关问题 更多 >
编程相关推荐