【发布时间】:2021-08-03 12:05:42
【问题描述】:
假设我在 python 中有一个字符串列表,例如 -
lst = ['makeup brush tool', 'mak', 'flawless', 'tool', 'makeu', 'bru', 'brus', 'brush', 'makeup brush', 'cosmetic brush holder', 'elf makeup', 'key holder', 'holder', 'flaw', 'flawl', 'marinade brush', 'cosmetic', 'makeup brush cleaner', 'makeup brush holder', 'brush holder']
现在像“mak”这样的单个词是另一个词“makeu”的一部分。如何删除像“mak”这样的词。 更多示例 - 来自“bru”、“brus”和“brush” -> 必须删除“bru”和“brus”。
在此之后我无法继续 -
def remove_repeated_parts(un_corrected):
""" Returns a corrected list """
corrected = []
for word in un_corrected:
string_split = word.split()
if len(string_split) == 1:
# what to do from here
remove_repated_parts(lst)
预期输出 -
lst = ['makeup brush tool', 'flawless', 'tool', 'makeu', 'brush', 'makeup brush', 'cosmetic brush holder', 'elf makeup', 'key holder', 'holder', 'marinade brush', 'cosmetic', 'makeup brush cleaner', 'makeup brush holder', 'brush holder']
注意我们只考虑长度为 1 的字符串
跟RegEx有关系吗?
【问题讨论】:
-
你能显示你的输出列表将包含什么吗?