for n in numbers:
    multiples[n] = []
for x in numbers:
    for y in numbers:
        if x != y and y % x == 0:
            multiples[x].append(y)
What's the most efficient way to find factors in a list?