Вывод элементов списка

Занимаюсь изучением Python недавно и с помощью Stepik. Недавно возникла такая проблема: созданию список, считывая определённое количество вводящихся строк, вывожу список (не распаковываю!) и выводятся не все элементы. Cама задача звучит так:

На вход программе подается натуральное число n, затем n строк, затем число k — количество поисковых запросов, затем k строк — поисковые запросы. Напишите программу, которая выводит все введенные строки, в которых встречаются одновременно все поисковые запросы. Формат входных данных: На вход программе подаются натуральное число n — количество строк, затем сами строки в указанном количестве, затем число k, затем сами поисковые запросы. Формат выходных данных: Программа должна вывести все введенные строки, в которых встречаются все поисковые запросы.

Моё решение:

s = []
for _ in range(int(input())):
    s.append(input())
for _ in range(int(input())):
    z = input().lower()
    for i in s:
        if i.lower().count(z) == 0:
            s.remove(i)
print(*s, sep = '\n')

Выводит:

Язык Python прекрасен
BEEGEEK FOREVER!
язык Python появился 20 февраля 1991

Должен выводить:

Язык Python прекрасен
язык Python появился 20 февраля 1991

При выводе i при каждой итерации третьего цикла 'BEEGEEK FOREVER!' вообще теряется, а при ответе появляется снова.

Пожалуйста, объясните мне происходящее максимально подробно :")


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