# Python | Product of Squares in List

• Last Updated : 04 Feb, 2023

Python being the language of magicians can be used to perform many tedious and repetitive tasks in an easy and concise manner and have the knowledge to utilize this tool to the fullest is always useful. One such small application can be finding product of squares of list in just one line. Letâ€™s discuss certain ways in which this can be performed.

Method #1: Using reduce() + lambda The power of lambda functions to perform lengthy tasks in just one line, allows it combined with reduce which is used to accumulate the subproblem, to perform this task as well. Works with only Python 2.

## Python3

 `# Python code to demonstrate``# Product of Squares in List``# using reduce() + lambda``import` `functools` `# initializing list``test_list ``=` `[``3``, ``5``, ``7``, ``9``, ``11``]` `# printing original list``print` `(``"The original list is : "` `+` `str``(test_list))` `# using reduce() + lambda``# Product of Squares in List``res ``=` `functools.``reduce``(``lambda` `i, j: i ``*` `j``*``j, [test_list[:``1``][``0``]``*``*``2``]``+``test_list[``1``:])` `# printing result``print` `(``"The product of squares of list is : "` `+` `str``(res))`

Output

```The original list is : [3, 5, 7, 9, 11]
The product of squares of list is : 108056025```

Time Complexity: O(n), where n is the number of elements in the list.

Auxiliary Space: O(1), as only a single variable ‘res’ is used to store the result and no extra data structures are used.

Method #2: Using map() + loop The similar solution can also be obtained using the map function to integrate and external product function to perform the product of the squared number.

## Python3

 `# Python3 code to demonstrate``# Product of Squares in List``# using sum() + max()` `# getting Product``def` `prod(val) :``    ``res ``=` `1``    ``for` `ele ``in` `val:``        ``res ``*``=` `ele``    ``return` `res` `# initializing list``test_list ``=` `[``3``, ``5``, ``7``, ``9``, ``11``]` `# printing original list``print` `(``"The original list is : "` `+` `str``(test_list))` `# using sum() + max()``# Product of Squares in List``res ``=` `prod(``map``(``lambda` `i : i ``*` `i, test_list))` `# printing result``print` `(``"The product of squares of list is : "` `+` `str``(res))`

Output

```The original list is : [3, 5, 7, 9, 11]
The product of squares of list is : 108056025```

Time complexity: O(n) where n is no of elements of the list
Auxiliary Space: O(1)

Method #3: Using for loop

## Python3

 `# Python3 code to demonstrate``# Product of Squares in List` `# initializing list``test_list ``=` `[``3``, ``5``, ``7``, ``9``, ``11``]` `# printing original list``print` `(``"The original list is : "` `+` `str``(test_list))` `# Product of Squares in List``res ``=` `1``for` `i ``in` `test_list:``    ``x``=``i``*``*``2``    ``res``*``=``x``    `  `# printing result``print` `(``"The product of squares of list is : "` `+` `str``(res))`

Output

```The original list is : [3, 5, 7, 9, 11]
The product of squares of list is : 108056025```

Time Complexity: O(n), where n is the length of the list test_list.
Auxiliary Space: O(1), as only a few variables are used in the computation.

Method #4: Using NumPy library
Note: Install numpy module using command “pip install numpy”

## Python3

 `# Python3 code to demonstrate``# Product of Squares in List``# using NumPy library` `import` `numpy as np` `# initializing list``test_list ``=` `[``3``, ``5``, ``7``, ``9``, ``11``]` `# printing original list``print` `(``"The original list is : "` `+` `str``(test_list))` `# Product of Squares in List``res ``=` `np.prod(np.square(test_list))` `# printing result``print` `(``"The product of squares of list is : "` `+` `str``(res))``#This code is contributed by Edula Vinay Kumar Reddy`

Output:

```The original list is : [3, 5, 7, 9, 11]
The product of squares of list is : 108056025```

Time Complexity: O(n) where n is no of elements of the list
Auxiliary Space: O(n)

My Personal Notes arrow_drop_up