概述
string_list = [‘rest’,‘resting’,‘look’,‘looked’,‘it’,‘spit’]
string_list = [‘resting’,‘spit’]
我有一些代码可以实现这一点,但是令人尴尬的是丑陋,可能不必要的复杂.在Python中有一个简单的方法吗?
您可以使用来检查:
>>> 'rest' in 'resting' True >>> 'sing' in 'resting' False
接下来,我们将选择创建新列表的天真的方法.我们将逐个添加项目到新的列表中,检查它们是否是子字符串.
def substringSieve(string_list): out = [] for s in string_list: if not any([s in r for r in string_list if s != r]): out.append(s) return out
您可以通过排序来减少比较数量(毕竟更长的字符串永远不会是较短/等长的字符串的子字符串):
def substringSieve(string_list): string_list.sort(key=lambda s: len(s),reverse=True) out = [] for s in string_list: if not any([s in o for o in out]): out.append(s) return out
总结
以上是编程之家为你收集整理的Python – 从作为另一个元素的子串的字符串列表中删除任何元素全部内容,希望文章能够帮你解决Python – 从作为另一个元素的子串的字符串列表中删除任何元素所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧