如何在python中的大型变量集中找到最接近的字符串匹配?

如何在python中的大型变量集中找到最接近的字符串匹配?,python,list,variables,search,chatbot,Python,List,Variables,Search,Chatbot,我需要找到一种方法,找到与用户在单个变量的列表中输入的内容最相似的字符串 L666485 = [u9027, m616, "CHELMSFORD, ", "Yes?"] L666461 = [u9027, m616, "CHELMSFORD, ", "Thank you."] L666460 = [u9029, m616, "CREALOCK, ", "The only reports of enemy activity have come from the direction of the R

我需要找到一种方法,找到与用户在单个变量的列表中输入的内容最相似的字符串

L666485 = [u9027, m616, "CHELMSFORD, ", "Yes?"]
L666461 = [u9027, m616, "CHELMSFORD, ", "Thank you."]
L666460 = [u9029, m616, "CREALOCK, ", "The only reports of enemy activity have come from the direction of the Royal Kraal, at Ulundi."]
L666385 = [u9027, m616, "CHELMSFORD, ", "Our runners bare his dispatches, do they not?"]
变量is name以一个L开头,后跟一个数字,然后是一个列表,其中包含(从左到右的顺序)角色ID、电影ID、角色名称、行。 我需要搜索每个L变量列表项的行[3]

我正在使用python创建一个聊天机器人,它使用康奈尔电影对话语料库搜索并找到一行类似于脚本中所说的一行, 然后代码应该找到匹配的对话,然后找到下一行。 我已经研究了
difflib.get\u close\u matches
,但据我所知,它只搜索单个变量中的列表

#变量列表
从电影中导入变量*
def main():
#用户输入
用户输入=输入(“:/”)
#这是我希望它做的事情
#使用difflib.get_close_matches搜索电影变量,查找类似于用户输入的内容
matching\u line=difflib.get\u close\u matches(用户输入、电影变量[3])

理想情况下,我希望它为类似的行输出变量ID,例如L6551

您可以在列表的开头添加变量名,然后像
movie\u variables[0]一样返回它。
您可以在列表的开头添加变量名,然后像
movie\u variables[0]一样返回它

正如@VaughanHilts所指出的,您可以使用Levenshtein距离作为度量。它可以作为度量单位使用。正如@VaughanHilts所指出的,您可以使用Levenshtein距离作为度量单位。它可以作为一个。对不起,我不太明白。什么列表的开始?我的意思是,您可以将变量存储为
L666485=[“L666485”,u9027,m616,“CHELMSFORD”,“Yes?”]
并返回类似行的变量ID。抱歉,我不太明白。什么列表的开始?我的意思是,您可以将变量存储为
L666485=[“L666485”、u9027、m616、“CHELMSFORD”、“Yes?”]
并返回类似行的变量ID。