цикл. обход каждого элемента и сравнение между собой
Есть список:
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 шт):
Код не даю, код вы сами должны написать. Но если я правильно понял суть:
- перебираете в цикле элементы списка, используя их индекс
- для каждого их них пробегаете по остальным элементам списка и проверяете, что они в этот элемент входят
- если условие выполнилось, добавляете этот элемент в выходной список
Всё, что вам нужно - знание range, for, if, in, то есть базовые вещи в питоне. Ну и break ещё. Ну и основы работы со списками - создание, добавление.
По итогу вот код, может быть кому-то пригодится:
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]