Как я могу фильтровать список, содержащий строки и подстроки, чтобы возвращать только самые длинные строки. (Если какой-либо элемент в списке является подстрокой другого, верните только более длинную строку.)
У меня есть эта функция. Есть ли более быстрый способ?
def filterSublist(lst):
uniq = lst
for elem in lst:
uniq = [x for x in uniq if (x == elem) or (x not in elem)]
return uniq
lst = ["a", "abc", "b", "d", "xy", "xyz"]
print filterSublist(lst)
> ['abc', 'd', 'xyz']
> Function time: 0.000011