У меня есть два больших списка чисел (возможно, по миллиону элементов в каждом). Я хотел бы сравнить оба из них поэлементно, чтобы определить пары элементов, которые имеют разницу менее 0,5. Я знаю, что два вложенных для циклов не вариант. Есть ли какой-нибудь быстрый способ сделать это, используя наборы или почтовый индекс?
Например, если мои списки имеют значения list1 = [1,2,3,4]
и list2 = [3,4,5,6]
, а условие равно разнице 1, то решение будет иметь пары, расположенные в списке [элемент из list1
, элемент из list2
, разница]. Решение будет [[2,3,1],[3,3,0],[3,4,1],[4,3,1],[4,4,0],[4,5,1]]
Спасибо