myList = ['hello','hello word','word','red','red apple','apple','king']
newList = []
for item in myList:
unique = True
current = myList.pop()
for string in myList:
if current in string:
unique = False
if unique:
newList.append(current)
myList.insert(0, current)
print(newList)
Перебирая список, каждая итерация выводит последний элемент из списка.После этого переберите оставшиеся элементы и оцените, является ли выдвинутая нами строка подстрокой какой-либо из оставшихся строк.
Если нет, мы считаем выдвинутую строку уникальной и можем добавить ее в пустой список.В конце каждой итерации цикла вставьте строку, которую мы вставили в начало исходного списка.
set () сработает, если вы хотите удалить точные дубликаты, а не подстроки.