假设我有一组字符串。如果一个字符串是另一个字符串的子字符串,则应该删除该字符串。
我的想法是迭代原始集合中的所有字符串,并针对集合中的其他字符串进行每个字符串测试,并删除原始集合中其他字符串的任何字符串。但这会导致原始集的就地修改,这可能会在实现中引起一些问题。
是否有人更清楚如何实施?感谢。
答案 0 :(得分:3)
你的问题不是很清楚。但如果我理解正确,你可以做这样的事情
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']