python generate factors of number code example

Example 1: python find factors of a number

def factors(n):
    return set(reduce(list.__add__, \
        ([i, n//i] for i in range(1, int(n**0.5) + 1) if not n % i )))

Example 2: quick way to find the factor of a number python

def factors(x):
  listOfFactors = []
  for i in range(1, int(x ** 0.5)):   
    # Use a loop from 1 to the square root of x for more speed.
    if x % i == 0:
      listOfFactors.append(x)
      listOfFactors.append(i)
    # May repeat some numbers. Further code would be needed to fix that.
    print(i)