Sometimes, we want to find all the factors of a number in Python.

In this article, we’ll look at how to find all the factors of a number in Python.

### How to find all the factors of a number in Python?

To find all the factors of a number in Python, we can use the `functools`

module.

For instance, we write:

```
from functools import reduce
def factors(n):
return set(
reduce(list.__add__, ([i, n // i]
for i in range(1,
int(n**0.5) + 1) if n % i == 0)))
print(factors(50))
```

We define the `factors`

function which takes the number `n`

to get the factors from.

In the function, we call `reduce`

with `list.__add__`

as the function to call to to add the factors into a list.

Then we compute the factors with `([i, n//i] for i in range(1, int(n**0.5) + 1) if n % i == 0)`

to compute the factors by getting all the numbers `i`

that can divide `n`

evenly.

Finally, we call `set`

to remove the duplicates from the `list`

returned by `reduce`

.

Therefore, we should see `{1, 2, 5, 10, 50, 25}`

from the `print`

output.

### Conclusion

To find all the factors of a number in Python, we can use the `functools`

module.