根据python

时间:2017-01-06 05:38:44

标签: python

我在Python中有列表。简单表示如下所示,标题为输入。我如何识别2个术语位置(例如'las''vegas')并将它们组合起来以获得单个术语的位置(例如'lasvega')。输入列表顺序下方显示的所需输出始终是随机的。任何关于我如何实现的指示将不胜感激。

输入:

['vegas' , 'hotel' , 'las']
['new' , 'york' , 'flights']
['san' , 'accomodations' , 'franscisco']
['san' , 'diego' , 'motel']

期望的输出:

['lasvegas' , 'hotel' ]
['newyork' , 'flights']
['sanfranscisco' , 'accomodations' ]
['sandiego' , 'motel']

1 个答案:

答案 0 :(得分:1)

您想要的是全文搜索。如果您拥有的数据集非常大或存在性能问题,那么您应该考虑一个量身定制的解决方案,如Elastic SearchSolr或som合适的数据库。

如果您只想要一个简单的Python解决方案,那么您首先需要维护一个世界上所有城市的字典。之后,您可以在列表中找到所有字符串组合,即列表的powerset,并在powerset上循环,以查找前面提到的城市字典中存在哪些组合。