сравнение строк в списке со строками в списке

Я вижу, что приведенный ниже код может проверить, является ли слово

list1 = 'this' compSet = [ 'this','that','thing' ] if any(list1 in s for s in compSet): print(list1) 

Теперь я хочу проверить, находится ли слово в списке в другом списке, как показано ниже:

 list1 = ['this', 'and', 'that' ] compSet = [ 'check','that','thing' ] 

Каков наилучший способ проверить, находятся ли слова в списке1 в compSet и что-то делать с несуществующими элементами, например, добавление 'и' в compSet или удаление 'и' из списка1?

__________________Обновить___________________

Я просто обнаружил, что делать то же самое не работает с sys.path. Код ниже иногда работает, чтобы добавить путь к sys.path, а иногда и нет.

 myPath = '/some/my path/is here' if not any( myPath in s for s in sys.path): sys.path.insert(0, myPath) 

Почему это не работает? Кроме того, если я хочу выполнить ту же операцию на множестве своих путей,

 myPaths = [ '/some/my path/is here', '/some/my path2/is here' ...] 

Как мне это сделать?

2 Solutions collect form web for “сравнение строк в списке со строками в списке”

Существует простой способ проверить пересечение двух списков: преобразовать их в набор и использовать intersection :

 >>> list1 = ['this', 'and', 'that' ] >>> compSet = [ 'check','that','thing' ] >>> set(list1).intersection(compSet) {'that'} 

Вы также можете использовать побитовые операторы:

пересечения:

 >>> set(list1) & set(compSet) {'that'} 

Союз:

 >>> set(list1) | set(compSet) {'this', 'and', 'check', 'thing', 'that'} 

Вы можете сделать любой из этих результатов список, используя list() .

Попробуй это:

  >>> l = list(set(list1)-set(compSet)) >>> l ['this', 'and'] 
  • Как вы знаете индекс элемента, который указан в подпункте
  • Python: поиск максимальных данных
  • Как отсортировать список целых чисел в порядке убывания python
  • Python: как отделить строку запятой
  • Передача списка при сохранении оригинала
  • В чем разница между плюсом и добавлением в python для манипулирования списками?
  • Средний -Питон
  • Как перенести последний элемент в список на передний план в python?
  • Python - лучший язык программирования в мире.