#python
#python
Вопрос:
У меня есть список, подобный
a=['foo', 'boo', 'foo_ext', 'doo']
Я хочу найти, есть ли у меня элементы, которые отличаются на заданную строку, например, _ext
в моем случае — поэтому вывод должен возвращать, что у меня есть ‘foo’ и ‘foo_ext’
Я пробовал с пересечением, но это возвращает точные совпадения, а не «частичные», как мне нужно..
Комментарии:
1. почему foo и foo_ext считаются общими, а остальные 3 имеют общие строки, кроме одной буквы?
2. что, если одна из строк
'_extfoo'
?
Ответ №1:
Вы можете найти эти элементы следующим образом
for i in range(len(a)):
for j in range(i 1,len(a)):
if a[i] in a[j] or a[j] in a[i]:
print(a[i],a[j])
Результат таков foo foo_ext
.
Редактировать: я не уверен, что это ответ на вашу проблему. Вам нужны только элементы, которые отличаются конкретной строкой _ext
?
Комментарии:
1. Правильно, они должны отличаться определенной строкой