Python 2.7 找出城市名称是否出现在字符串中

Python 2.7 找出城市名称是否出现在字符串中,python-2.7,trie,city,Python 2.7,Trie,City,我有一个城市列表,比如“圣路易斯奥比斯波”,然后我有一句话,比如 迈克尔住在圣路易斯奥比斯波 注意,城市可以出现在句子中的任何地方。我逐字分析这个句子如何检查“圣路易斯奥比斯波”是否在我的城市列表中我正在使用存储城市列表,但当我检查单词“San”时,不知道如何获取“false,但继续”。我应该切换到不同的数据结构还是编写自定义trie?您不想执行简单的字符串检查有什么原因吗?Ie“san luis obispo”在句子中。lower()?是的,句子中可能出现的城市列表非常大。”圣路易斯·奥比斯波

我有一个城市列表,比如“圣路易斯奥比斯波”,然后我有一句话,比如

迈克尔住在圣路易斯奥比斯波


注意,城市可以出现在句子中的任何地方。我逐字分析这个句子

如何检查“圣路易斯奥比斯波”是否在我的城市列表中

我正在使用存储城市列表,但当我检查单词“San”时,不知道如何获取“false,但继续”。我应该切换到不同的数据结构还是编写自定义trie?

您不想执行简单的字符串检查有什么原因吗?Ie
“san luis obispo”在句子中。lower()
?是的,句子中可能出现的城市列表非常大。”圣路易斯·奥比斯波是句子中唯一一个可能出现的城市。我认为,你必须展示一些实际的代码——trie是如何构造的,诸如此类。
#L是城市列表trie=marisa#trie。trie(L)#str是句子words=word\u tokenize(str)对于words中的w:word=unicode(w.lower),如果trie中的单词:#在句子else中找到了一个城市名称:#如果trie.has_关键字_前缀为(word),该单词是多单词城市名称中的第一个单词吗:#用空格和下一个单词连接,否则:#转到下一个word@a-p我相信这就是答案:你不想做简单的字符串检查有什么原因吗?Ie
“san luis obispo”在句子中。lower()
?是的,句子中可能出现的城市列表非常大。”圣路易斯·奥比斯波是句子中唯一一个可能出现的城市。我认为,你必须展示一些实际的代码——trie是如何构造的,诸如此类。
#L是城市列表trie=marisa#trie。trie(L)#str是句子words=word\u tokenize(str)对于words中的w:word=unicode(w.lower),如果trie中的单词:#在句子else中找到了一个城市名称:#如果trie.has_关键字_前缀为(word),该单词是多单词城市名称中的第一个单词吗:#用空格和下一个单词连接,否则:#转到下一个word@a-p我相信这就是答案: