Вычесть один список строк из другого. Python

Даны два списка строк:

weekly_schedule = ['14:00 - 15:30\n4. ФИЗИЧЕСКАЯ КУЛЬТУРА', 'Пучкин А.В..', '15:40 - 17:10\n5. ПРАВОВОЕ ОБЕСПЕЧЕНИЕ ПРОФЕССИОНАЛЬНОЙ ДЕЯТЕЛЬНОСТИ\n', 'Кудряшова В.А.', '6. Н/Б']

name = ['Пучкин А.В..', 'Кудряшова В.А.']

Мне необходимо получить из них разницу (weekly_schedule - name), чтобы получилось:

['14:00 - 15:30\n4. ФИЗИЧЕСКАЯ КУЛЬТУРА', '15:40 - 17:10\n5. ПРАВОВОЕ ОБЕСПЕЧЕНИЕ ПРОФЕССИОНАЛЬНОЙ ДЕЯТЕЛЬНОСТИ\n', '6. Н/Б']

Перепробовал кучу методов, ничего не помогло.


Ответы (1 шт):

Автор решения: Andy Pavlov

Нужно пересобрать список weekly_schedule с проверкой на вхождение элемента в список name

weekly_schedule = ['14:00 - 15:30\n4. ФИЗИЧЕСКАЯ КУЛЬТУРА', 'Пучкин А.В..', '15:40 - 17:10\n5. ПРАВОВОЕ ОБЕСПЕЧЕНИЕ ПРОФЕССИОНАЛЬНОЙ ДЕЯТЕЛЬНОСТИ\n', 'Кудряшова В.А.', '6. Н/Б']

name = ['Пучкин А.В..', 'Кудряшова В.А.']

res = [w for w in weekly_schedule if w not in name]

print(res)  # ['14:00 - 15:30\n4. ФИЗИЧЕСКАЯ КУЛЬТУРА', '15:40 - 17:10\n5. ПРАВОВОЕ ОБЕСПЕЧЕНИЕ ПРОФЕССИОНАЛЬНОЙ ДЕЯТЕЛЬНОСТИ\n', '6. Н/Б']
→ Ссылка