在包含元组的列表中使用get_close_matches()查找匹配项



我有一个包含元组的列表,在每个元组中有两个元素:关键字和该关键字的定义。(这就像一本字典)。我试图使用get_close_matches(),但它返回了一个空列表。我期望它返回列表中的某个值。

这适用于列表,但我不知道如何让它工作的列表,其中包含元组?请帮助!

from difflib import get_close_matches
list=[('slam', 'To close violently.'), ('monish', "To scold or rebuke; to counsel in
terms of someone's behavior."), ('yellow card', 'A penalty card shown by the referee to a 
player being cautioned.'), ('fling', 'To move in an abrupt or headlong manner.')]
get_close_matches("slamm",list)

输出结果为:

[]

我期望它会返回这样的东西:

[slam]

我不是特别熟悉这个函数,但是看看这里的文档,它表明第二个输入应该是字符串列表,而不是元组列表。我建议这样做:

  1. 不要把你的清单命名为"清单"!我们把它命名为"my_list">

  2. 将my_list处理为仅包含关键字的列表:

    关键词= [x[0] for x in my_list]

  3. ,然后尝试只对关键字调用函数:

    get_close_matches("slamm"关键词)

最新更新