我对python非常新,所以如果我不明白的话,请原谅我!!
我有125行代码,但我有一个问题部分。因为它目前已设置,所以拼写错误的单词。它链接到字典中拼写相似的单词,单词的分数基于它们的相似程度。
possible_replacements("sineaster", {"sineaster":{"easter":0.75, "sinister":0.60}})
possible_replacements是函数的名称,“sineaster”是拼写错误的单词,“Easter”& “险恶”是推荐的替代品。我想访问字典单词(.75和.6)的相关数字,但我似乎无法访问它们,因为它们嵌套在另一个字典中。
有什么建议吗?
答案 0 :(得分:1)
一旦你知道要查询哪个单词(这里是'sineaster'),你就可以使用一个简单的dictionary,例如,在for
循环中遍历:
outer_dict = {"sineaster":{"easter":0.75, "sinister":0.60}}
inner_dict = outer_dict["sineaster"]
for key, value in inner_dict.items():
print('{}: {}'.format(key, value))
答案 1 :(得分:0)
我假设您的替换字典大于单个条目。如果是这样,请考虑一种可能实现possible_replacements
的方法:
def possible_replacements(misspelled, replacement_dict):
suggestions = replacement_dict[misspelled]
for (repl, acc) in suggestions.items():
print("[%.2f] %s -> %s" % (acc, misspelled, repl))
# This is the replacement dictionary, with an extra entry just to illustrate
replacement_dict = {
"sineaster":{"easter":0.75, "sinister":0.60},
"adn": {"and": 0.99, "end": 0.01}
}
# Call function, asking for replacements of "sineaster"
possible_replacements("sineaster", replacement_dict)
输出:
[0.75] sineaster -> easter [0.60] sineaster -> sinister
在这种情况下,它只打印出一个可能的替换列表,并以相应的概率(我假设)。
当您使用" sineaster",在函数内部
进行调用时suggestions = {"easter":0.75, "sinister":0.60}
suggestions.items() = [('easter', 0.75), ('sinister', 0.6)]
在for
循环的第一次迭代中:
repl = "easter"
acc = 0.75
在第二次迭代中:
repl = "sinister"
acc = 0.60
你可以在函数中使用任何合适的逻辑,我只是选择循环使用"建议"并显示它们。