Ваш вариант корректен, но всю функцию можно было написать в одну строчку, используя list comprehension:

    def dividers(x):
        return [ i for i in xrange(1, x) if x % i == 0]

или, с оптимизацией:

    def dividers(x):
        return [ i for i in xrange(1, x / 2 + 1) if x % i == 0]