def amicable_pair(num):
    """
    Determines if num is amicable and returns its copair element if it is
    :param num:
    :return: 0 if num is not amicable, num's copair element if it is
    """
    copair = sum(factor.divisors(num)) - num
    return copair if (sum(factor.divisors(copair)) - copair) == num and copair != num else 0
def abundant_numbers(limit):
    """
    Find all abundant numbers less than a given limit
    :param limit: Cutoff for list
    :return: (list) Abundant numbers from 1 to limit
    """

    return [x for x in xrange(1, limit) if sum(divisors(x)) > 2 * x]