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

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

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
  • различный размер элемента в массиве numpy и список
  • Почему добавление в список делает разные вещи?
  • Как группировать элементы списка в кортеж?
  • Доступ к типу списка Python
  • Python - лучший язык программирования в мире.