цикл. обход каждого элемента и сравнение между собой

Есть список:

m = ['привет', 'привет я толик','городе москва','привет я толик живу и учусь в городе москва','я толик','учусь','живу']

нужно сравнить каждый элемент МЕЖДУ СОБОЙ на вхождение и оставить в итоге только 'привет я толик живу и учусь в городе москва' - т.к все остальные элементы входят в эту строку.

Может быть и не через цикл это можно делать, но идеи(решение есть) пока только через него. Мб у кого есть ещё идеи как можно по другому сделать?

Т.к мой вопрос был не очень понятен, и возникли недопонимания: - я скинула код, соответственно он уже у меня был решен и мне не нужно было решение, мне нужна была ИДЕЯ.

Вот собственно решение, если кто-то с этим столкнулся.

hg = []
for i in m:
    for k in m:
        if i in k:
            if i == k:
                continue
            else:
                hg.append(i)
        else: continue
    [item for item in m if item not in hg]

Ответы (2 шт):

Автор решения: CrazyElf

Код не даю, код вы сами должны написать. Но если я правильно понял суть:

  • перебираете в цикле элементы списка, используя их индекс
  • для каждого их них пробегаете по остальным элементам списка и проверяете, что они в этот элемент входят
  • если условие выполнилось, добавляете этот элемент в выходной список

Всё, что вам нужно - знание range, for, if, in, то есть базовые вещи в питоне. Ну и break ещё. Ну и основы работы со списками - создание, добавление.

→ Ссылка
Автор решения: Lit

По итогу вот код, может быть кому-то пригодится:

hg = []
for i in m:
    for k in m:
        if i in k:
            if i == k:
                continue
            else:
                hg.append(i)
        else: continue

[item for item in m if item not in hg]
→ Ссылка