Найти ближайшие числа между массивами

Задание звучит сложно, постараюсь объяснить на форме вводе/выводе Ввод должен быть

n = одно число, длина массива а
а =  массив чисел, - 4 3 1 5 6 (например)
m = число, длина массива b
b = массив чисел

Необходимо найти для каждого n числа ближайшее m число Я видимо что-то неправильно делаю

n = int(input())
a = [int(el) for el in input().split()]
m = int(input())
b = [int(el) for el in input().split()]

res = int(a[0])
for i in range(n):
    for j in range(m):
        if abs(i - b[i]) < abs(res - b[i]):
            res = i
    print(res)

Например ввод:

4
1 2 6 10
2
7 3

Вывод:

2
2
1
1

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

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

Если я правильно понял задание, то наоборот - надо искать во втором массиве ближайшее для каждого числа из первого

res = int(a[0])
for x in a:
    bmin = min(b, key=lambda i: abs(i - x))
    print(b.index(bmin),': ', bmin)

1 :  3
1 :  3
0 :  7
0 :  7
→ Ссылка