【发布时间】:2020-05-26 15:10:54
【问题描述】:
我创建了 2 个 python 字典。为简单起见,
dict1 = {'apple' : 'g1', 'banana' : 'g2', 'mango' : 'g3'}
dict2 = {'grapes' : 'a1', 'pear' : 'a2', 'apple' : 'a3', 'bananabc' : 'a4'}
我想将它们合并到一个字典中,如图所示:
merge_dict = {'apple' : ['g1', 'a3'], 'banana : ['g2','a4']', 'mango' : ['g3'], 'grapes' : ['a1'], 'pear' : ['a2']}
所以我不仅想将它们组合成一本字典,而且:
如果是相同的值,放在一个键中
如果是类似的值,例如(banana & bananabc),把它放到一个键中
否则只更新字典
可以这样做吗?
这是我尝试过的:
def match_product(name, list_names, min_score=0):
max_score = -1
max_name = ''
for name2 in list_names:
score = fuzz.token_sort_ratio(name, name2)
if (score > min_score) & (score > max_score):
max_name = name2
max_score = score
return(max_name, max_score)
【问题讨论】:
-
是的,这是可能的。
-
据说已经完全有可能,但是stackoverflow不会为您编写代码。您必须展示您尝试过的方法以及遇到困难的地方
-
你知道怎么做吗?或者你有什么参考吗?@mkrieger1
-
我已经编辑了这篇文章,你能分享一下你的想法吗? @NikosM。
-
dict1 和 dict2 - 如果以您拥有的方式声明.. 是集合.. 不是字典。要成为字典,就必须以该问题的答案显示的方式声明它们。
标签: python-3.x sorting dictionary