можем ли мы оптимизировать это еще больше, чтобы получить уникальный элемент, повторяющийся в других элементах строки в списке python?

#python #list #optimization

Вопрос:

Я написал этот код :

 words = ['compressed', 'encoded_raw',  'flanc_raw_check', 'tex', 'compressed_raw', 'raw']
matchbox = []
for word in words:
    matches = [w for w in words if  word in w]
    if matches and len(matches) > 1:
        for match in matches:
            print(f'  {match}')
        print('')
        matchbox.append(matches)

print(f' {min(max(matchbox), key=len)}')
 

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

Комментарии:

1. чтобы убедиться, что его уникальное приведенное слово в набор при повторении его: for word in set(words)

2. @joshmeranda достаточно справедливо , но цель в том, присутствует ли этот уникальный предмет также в других предметах .

3. Разделяются ли искомые слова подчеркиванием? Я имею в виду: «сырое» находится в «copressed_raw», но может быть также в «рау», «креветках» и т. Д. Если все уникальные слова разделены, вы можете подготовить set уникальные слова (не элементы), разделив элементы и добавив set только слова.

4. хороший момент, хотя изначально я просто искал те, которые разделены, _ потому что в противном случае креветка не является сырой, однако compressed_raw ссылается на сырую в сжатом виде, все еще сохраняя значение raw.