#python #list
#python #Список
Вопрос:
У меня есть два элемента списка, и я хочу сгенерировать список на основе несовпадающих элементов. Вот что я пытаюсь сделать:
from __future__ import print_function
import os
mainline_list = ['one', 'two', 'three', 'four']
non_main_list = ['two', 'seven', 'six', 'four', 'four-3.1', 'new_three']
itemized_list = [item for item in non_main_list if item not in mainline_list]
print(itemized_list)
Что возвращает, так это
['seven', 'six', 'four-3.1', 'new_three']
в то время как я хочу:
['seven', 'six']
Ответ №1:
Регулярное выражение не обязательно, вы можете использовать all()
встроенную функцию:
mainline_list = ['one', 'two', 'three', 'four']
non_main_list = ['two', 'seven', 'six', 'four', 'four-3.1', 'new_three']
print([item for item in non_main_list if all(i not in item for i in mainline_list)])
С принтами:
['seven', 'six']