Помогите пожалуйста, в чём моя ошибка?

Программа должна выводить кол-во чисел из листа A, меньших числа из Q

N = int(input())
A = list(map(int, input().split()))
M = int(input())
Q = list(map(int, input().split()))
# N - A,n1,z1 M - Q,n,z
i = []
n = 0
n1 = 0
x = 0
while M < n:
    z = 0
    while N < n1:
        z1 = 0
        if Q[z] < A[z1]:
            x = x + 1
            n1 = n1 + 1
            z1 = z1 + 1
        elif Q[z] >= A[z1]:
            n1 = n1 + 1
            z1 = z1 + 1
        print(z1)
    i.append(x)
    x = 0
    n1 = 0
    n = n + 1
    z = z + 1
print(i)

Пример входа:

5 (количество чисел в A)

1 5 3 2 1 (лист A)

2 (количество чисел в Q)

4 3 (лист Q)

Пример выхода:

4 3


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

Автор решения: GrAnd

Хм... Весь алгоритм вообще в одну строку укладывается.

A = [1, 5, 3, 2, 1]
Q = [4, 3]

result = [sum(a < q for a in A) for q in Q]

print(*result)
→ Ссылка