Python program to multiply all numbers in the list?

In this article, we will explore various methods to multiply all numbers in a list in Python. A list is an ordered collection of values enclosed in square brackets, and we'll create functions that multiply each value and return the product as a single result.

For example, multiplying all numbers in the list [3, 2, 6] gives us 36. Let's examine different approaches to calculate the product of all numbers in a list.

Using math.prod() Function

The math.prod() function, introduced in Python 3.8, provides the most straightforward way to calculate the product of all numbers in a list ?

import math

def multiply_numbers(numbers):
    return math.prod(numbers)

numbers = [2, 5, 3, 7, 4]
print('The list is:', numbers)
print("The product is:", multiply_numbers(numbers))
The list is: [2, 5, 3, 7, 4]
The product is: 840

Using numpy.prod() Function

NumPy's prod() function is useful when working with large datasets and provides efficient mathematical operations ?

import numpy

def multiply_numbers(numbers):
    return numpy.prod(numbers)

numbers = [2, 1, 3, 7, 4, 5]
print('The list is:', numbers)
print("The product is:", multiply_numbers(numbers))
The list is: [2, 1, 3, 7, 4, 5]
The product is: 840

Using For Loop

The traditional approach using a for loop gives you complete control over the multiplication process ?

def multiply_numbers(numbers):
    product = 1
    for num in numbers:
        product = product * num
    return product

numbers = [2, 1, 3, 7, 4, 5]
print('The list is:', numbers)
print("The product is:", multiply_numbers(numbers))
The list is: [2, 1, 3, 7, 4, 5]
The product is: 840

Using reduce() with Lambda Function

The reduce() function from the functools module applies a function cumulatively to items in a sequence ?

from functools import reduce

numbers = [2, 1, 3, 2, 4, 8, 3]
print('The list is:', numbers)
product = reduce((lambda x, y: x * y), numbers)
print('The product is:', product)
The list is: [2, 1, 3, 2, 4, 8, 3]
The product is: 1152

Using operator.mul() Function

The operator.mul() function provides another way to multiply numbers when combined with a loop ?

from operator import mul

numbers = [2, -3, 3, 2, 4, 5, 3]
print('The list is:', numbers)

product = 1
for num in numbers:
    product = mul(num, product)
    
print('The product is:', product)
The list is: [2, -3, 3, 2, 4, 5, 3]
The product is: -2160

Comparison

Method Python Version Best For
math.prod() 3.8+ Simple, built-in solution
numpy.prod() Any (requires NumPy) Large datasets, scientific computing
For loop Any Full control, educational purposes
reduce() Any Functional programming approach
operator.mul() Any When using operator functions

Conclusion

For Python 3.8+, use math.prod() for the simplest solution. For older versions or when working with NumPy arrays, numpy.prod() is efficient. The for loop method provides the most control and is great for learning fundamental concepts.

Updated on: 2026-03-24T20:51:27+05:30

27K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements