我有 Python 列表。简单表示如下,标题为Input。我如何识别 2 个术语位置(例如 'las' 'vegas')并将它们组合起来以实现具有单个术语的位置(例如 'lasvega')。所需的输出如下所示,输入列表的顺序始终是随机的。任何关于我如何实现的指示都将不胜感激。
输入:
['vegas' , 'hotel' , 'las']
['new' , 'york' , 'flights']
['san' , 'accomodations' , 'franscisco']
['san' , 'diego' , 'motel']
期望的输出:
['lasvegas' , 'hotel' ]
['newyork' , 'flights']
['sanfranscisco' , 'accomodations' ]
['sandiego' , 'motel']
最佳答案
你要的是全文搜索。如果您拥有的数据集非常大或存在性能问题,您应该考虑量身定制的解决方案,例如 Elastic Search
或 Solr
或一些合适的数据库。
如果你只想要一个简单的 Python 解决方案,那么你首先需要维护一个包含世界上所有城市的字典。之后,您可以在列表中找到所有字符串组合,即列表的幂集,并循环遍历幂集以查找前面提到的城市字典中存在哪些组合。
关于python - 根据python中的位置值组合列表中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41499585/