100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > python 拼音相似度_python – 计算多个词典之间的相似度“得分”

python 拼音相似度_python – 计算多个词典之间的相似度“得分”

时间:2024-01-13 10:47:01

相关推荐

python 拼音相似度_python – 计算多个词典之间的相似度“得分”

我有一个参考字典,“dictA”,我需要将它(计算密钥和vules之间的相似性)与当场生成的n个字典进行比较.每个字典都有相同的长度.让我们说,为了讨论的缘故,将n个字典用于比较它是3:dictB,dictC,dictD.

这是dictA的样子:

dictA={'1':"U", '2':"D", '3':"D", '4':"U", '5':"U",'6':"U"}

以下是dictB,dictC和dictD的样子:

dictB={'1':"U", '2':"U", '3':"D", '4':"D", '5':"U",'6':"D"}

dictC={'1':"U", '2':"U", '3':"U", '4':"D", '5':"U",'6':"D"}

dictD={'1':"D", '2':"U", '3':"U", '4':"U", '5':"D",'6':"D"}

我有一个解决方案,但只是两个字典的选项:

sharedValue = set(dictA.items()) & set(dictD.items())

dictLength = len(dictA)

scoreOfSimilarity = len(sharedValue)

similarity = scoreOfSimilarity/dictLength

我的问题是:

如何用dictA作为主词典来迭代n个词典,我将其他词典与其他词典进行比较.我的目标是为每个字典获取一个“相似性”值,我将针对主要字典进行迭代.

谢谢你的帮助.

最佳答案 这是一个通用结构 – 假设您可以单独生成字典,在生成下一个字典之前使用每个字典.这听起来像你可能想要的. calculate_similarity将是一个包含上面“我有一个解决方案”代码的函数.

reference = {'1':"U", '2':"D", '3':"D", '4':"U", '5':"U",'6':"U"}

while True:

on_the_spot = generate_dictionary()

if on_the_spot is None:

break

calculate_similarity(reference, on_the_spot)

如果您需要迭代已经生成的字典,那么您必须将它们放在可迭代的Python结构中.在生成它们时,创建一个字典列表:

victim_list = [

{'1':"U", '2':"U", '3':"D", '4':"D", '5':"U",'6':"D"},

{'1':"U", '2':"U", '3':"U", '4':"D", '5':"U",'6':"D"},

{'1':"D", '2':"U", '3':"U", '4':"U", '5':"D",'6':"D"}

]

for on_the_spot in victim_list:

# Proceed as above

你熟悉Python构造生成器吗?它就像一个函数,它以yield而不是return返回它的值.如果是这样,请使用它而不是上面的列表.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。