程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了从字符串列表中删除子字符串大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决从字符串列表中删除子字符串?

开发过程中遇到从字符串列表中删除子字符串的问题如何解决?下面主要结合日常开发的经验,给出你关于从字符串列表中删除子字符串的解决方法建议,希望对你解决从字符串列表中删除子字符串有所启发或帮助;

l=[‘abc’,’abcdef’,’def’,’defdef’,’polopolo’] print [j for i, j in enumerate(l) if all(j not in k for k in l[i + 1:])] # [‘abcdef’, ‘defdef’, ‘polopolo’]

通过对列表进行排序,我们可以稍微加快速度

l = sorted(l, key = len)
print [j for i, j in enumerate(l) if all(j not in k for k in l[i + 1:])]

正如@AshwiniChaudhary在评论中提到的那样,如果要保留重复的字符串,则可以执行此操作

l = ['abc','defghi' 'abcdef','def','defdef','defdef', 'polopolo']
l = sorted(l, key = len)
print [j for i,j in enumerate(l) if all(j == k or (j not in k) for k in l[i+1:])]
# ['defdef', 'defdef', 'polopolo', 'defghiabcdef']

解决方法

我有一个清单

l = ['abc','abcdef','def','defdef','polopolo']

我正在尝试删除其超字符串已经在列表中的字符串。在这种情况下,结果应为:

['abcdef','polopolo']

我已经写了代码:

l=['abc','polopolo']
res=['abc','polopolo']
for each in l:
    l1=[x for x in l if x!=each]
    for other in l1:
        if each in other:
            res.remove(each)

但它似乎不起作用。我读过,我们无法在列表上进行迭代时将其删除。因此,副本res,而这l是我的原始列表。

大佬总结

以上是大佬教程为你收集整理的从字符串列表中删除子字符串全部内容,希望文章能够帮你解决从字符串列表中删除子字符串所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。