假设我有一组字符串。如果一个字符串是另一个字符串的子字符串,则应将前者从集合中删除。
我的想法是迭代原始集中的所有字符串,并针对每个字符串针对集合中的其他字符串进行测试,并删除作为原始集中其他字符串的子字符串的任何字符串。但这会导致对原始集合进行就地修改,这可能会在实现中引起一些问题。
有谁能更好地实现这一目标?谢谢。
您的问题不是很清楚。但是,如果我对您的理解正确,则可以执行以下操作
l = sorted(["abcd", "abc", "ab", "a"], key = len)
print [ss for idx, ss in enumerate(l) if all(ss not in cs for cs in l[idx + 1:])]
输出量
['abcd']
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句