【发布时间】:2021-03-26 07:02:39
【问题描述】:
我正在尝试编写一个小脚本来将具有相似模式的字符串组合在一起。以下是我的程序sn-p,运行正常,但有点不准确。
lst = ["report-2020.10.13", "report-2020.12.12", "analytics-2020.12.14", "sales-cda87", "analytics-2020.11.21", "sales-vu7sa"]
final = []
for pat in lst:
pat = pat[:len(pat) // 2]
ils = []
for pat2 in lst:
if pat2.startswith(pat):
ils.append(pat2)
final.append(tuple(ils))
finalls = list(set(final))
for f in finalls:
print(f)
另外,我想要对字符串进行分组的确切字符串模式。例如,从字符串列表 ["rep-10-01", "rep-10-02", "rep-11-06"] 我想要 "rep-" 作为模式。
是否需要改进?或者任何可以帮助我解决第一个和第二个问题的库/模块?
提前致谢。
【问题讨论】:
-
我强烈建议您研究称为 Trie 的数据结构。这正是为你做的。链接:geeksforgeeks.org/trie-insert-and-search
-
他为什么需要 Trie DS? Python 有电池 - defaultdict 在这种情况下可以提供帮助。
标签: python-3.x string text text-processing