您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python-从字符串列表中删除另一个元素的子字符串中的任何元素

Python-从字符串列表中删除另一个元素的子字符串中的任何元素

一个构建块:子字符串。

您可以in用来检查:

>>> '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 2022/1/1 18:45:37 有308人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶