Допустим, у меня есть следующий список
periods = ['2017 Q1', 'TEST2', '2018 Q4','2017 Q2', '2019Q3', '2017 Q3', '2017 Q4', '2017 FY', 'TEST']
Я хочу фильтровать по периодам, чтобы вернуть любые элементы в списке, которые содержат элементы из этого списка
master_list = ['Q1', 'Q2', 'Q3', 'Q4', 'S1', 'S2', 'FY']
Так что я бы ожидал
filtered = ['2017 Q1', '2018 Q4','2017 Q2', '2019 Q3', '2017 Q3', '2017 Q4', '2017 FY']
Когда я делаю что-то подобное
a = [period for period in periods for master in master_list if period in master]
Но это возвращает:
filtered = ['2017 Q1', '2017 Q2', '2019 Q3', '2017 Q3', '2017 Q4' ,'2018 Q4' ,'2017 FY']
Этот был переупорядочен.