 Open in App
Not now

# Python | Multiplying Alternate elements in List

• Last Updated : 21 Mar, 2023

The problem of getting product of a list is quite generic and we might some day face the issue of getting the product of alternate elements and get the list of 2 elements containing product of alternate elements. Let’s discuss certain ways in which this can be performed.

Method #1 : Using list comprehension + list slicing + loop List slicing clubbed with list comprehension can be used to perform this particular task. We can have list comprehension to get run the logic and list slicing can slice out the alternate character, product by the external prod function.

## Python3

 `# Python3 code to demonstrate``# Multiplying Alternate elements in List``# using list comprehension + list slicing` `# getting Product``def` `prod(val) :``    ``res ``=` `1``    ``for` `ele ``in` `val:``        ``res ``*``=` `ele``    ``return` `res` `# initializing list``test_list ``=` `[``2``, ``1``, ``5``, ``6``, ``8``, ``10``]` `# printing original list``print``(``"The original list : "` `+` `str``(test_list))` `# using list comprehension + list slicing``# Multiplying Alternate elements in List``res ``=` `[prod(test_list[i : : ``2``]) ``for` `i ``in` `range``(``len``(test_list) ``/``/` `(``len``(test_list)``/``/``2``))]` `# print result``print``(``"The alternate elements product list : "` `+` `str``(res))`

Output

```The original list : [2, 1, 5, 6, 8, 10]
The alternate elements product list : [80, 60]```

Time Complexity: O(n*n) where n is the number of elements in the list “test_list”.
Auxiliary Space: O(n) where n is the number of elements in the list “test_list”.

Method #2 : Using loop This is the brute method to perform this particular task in which we have the product of alternate elements in different element indices and then return the output list.

## Python3

 `# Python3 code to demonstrate``# Multiplying Alternate elements in List``# using loop` `# initializing list``test_list ``=` `[``2``, ``1``, ``5``, ``6``, ``8``, ``10``]` `# printing original list``print``(``"The original list : "` `+` `str``(test_list))` `# using loop``# Multiplying Alternate elements in List``res ``=` `[``1``, ``1``]``for` `i ``in` `range``(``0``, ``len``(test_list)):``    ``if``(i ``%` `2``):``        ``res[``1``] ``*``=` `test_list[i]``    ``else` `:``        ``res[``0``] ``*``=` `test_list[i]` `# print result``print``(``"The alternate elements product list : "` `+` `str``(res))`

Output :

```The original list : [2, 1, 5, 6, 8, 10]
The alternate elements product list : [80, 60]```

Method #3 : Using reduce() function
We can use the built-in function reduce() to get the product of alternate elements in a list.

## Python3

 `#initializing list``from` `functools ``import` `reduce``test_list ``=` `[``2``, ``1``, ``5``, ``6``, ``8``, ``10``]``# printing original list``print``(``"The original list : "` `+` `str``(test_list))``#using built-in function reduce() to get the product of alternate elements``res ``=` `reduce``(``lambda` `x, y: x``*``y, test_list[::``2``])``res1 ``=` `reduce``(``lambda` `x, y: x``*``y, test_list[``1``::``2``])``# print result``print``(``"The alternate elements product : "` `+` `str``([res,res1]))``#This code is contributed by Edula Vinay Kumar Reddy`

Output

```The original list : [2, 1, 5, 6, 8, 10]
The alternate elements product : [80, 60]```

Time complexity: O(n)
Auxiliary Space: O(1)

My Personal Notes arrow_drop_up