Строковые списки Python: как извлекать уникальные значения из сравнения двух списков строк?

У меня есть 2 списка строк неравной длины, не отсортированные, и я хочу получить значения, которые являются уникальными для более длинного списка. В реальных списках, в которых я работаю, содержится несколько тысяч значений. Значения, присутствующие в спискеA, всегда находятся в спискеB. Все значения отображаются только один раз в данном списке.

пример :

listA = ['b0001', 'b0003', 'b0007', 'b0004'] listB = ['b0001', 'b0005', 'b0007', 'b0017', 'b0004', 'b0003', 'b0002', 'b0432']

Ожидаемый результат :

listC = 'b0005', 'b0017', 'b0002', 'b0432']

Я попытался использовать функцию set и пересечение или функцию перечисления, но только в конечном итоге получаю ошибки ...

Спасибо за вашу помощь

0
nl ja de

2 ответы

Более подходящий способ сделать это - использовать наборы.

setA = set(listA)
setB = set(listB)
listC = list(setB - setA)

Здесь минус-символ означает разницу между множествами B и A.

с наилучшими пожеланиями

2
добавлено

Используя понимание списка:

>>> listC = [item for item in listB if item not in listA]
>>> listC
['b0005', 'b0017', 'b0002', 'b0432']
0
добавлено
Python
Python
7 654 участник(ов)

Уютный чат для профессионалов, занимающихся поиском питоньих мудростей. Как не получить бан: https://t.me/ru_python/577926

Python beginners
Python beginners
4 449 участник(ов)

Вопросы про Python для чайников. Cпам и троллинг неприемлем. Не злоупотребляйте стикерами. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Статистика тут: https://grstats.me/chat/x4qym2k5uvfkr3al6at7

pro.python
pro.python
1 090 участник(ов)

Сообщество разработчиков под Python Создатель: @rodgelius

Rude Python
Rude Python
971 участник(ов)

Python без „девочек”, здесь матерятся и унижают Django. Not gay friendly. Правила: t.me/rudepython/114107 @rudepython | t.me/rudepython

rupython
rupython
509 участник(ов)

Группа создана с целью оперативного получения ответов на возникающие вопросы по разработке на яп python, смежные темы, а также человеческого общения. Приветствую!

Python-programming
Python-programming
266 участник(ов)

Чат группы вконтакте https://vk.com/python_community