GeeksforGeeks App
Open App
Browser
Continue

Python | Multiply elements of Tuple

Given, a list of tuples, the task is to multiply the elements of the tuple and return a list of the multiplied elements.

Examples:

Input: [(2, 3), (4, 5), (6, 7), (2, 8)]
Output: [6, 20, 42, 16]

Input: [(11, 22), (33, 55), (55, 77), (11, 44)]
Output: [242, 1815, 4235, 484]

There are multiple ways to multiply the elements of a tuple. Let’s see a couple of them.

Method 1: Using Iteration This is the most naive method to achieve a solution to this task. In this, we iterate over the whole list of tuples and multiply the elements in each tuple to get the list of elements.

Python3

 `# Python code to convert list of tuple into list of elements``# formed by multiplying elements of tuple.` `# Input list initialisation``Input` `=` `[(``2``, ``3``), (``4``, ``5``), (``6``, ``7``), (``2``, ``8``)]` `# Output list initialisation``Output ``=` `[]` `# Iteration to multiply element and append multiplied element in``# new list``for` `elem ``in` `Input``:``    ``temp ``=` `elem[``0``]``*``elem[``1``]``    ``Output.append(temp)` `# printing output``print``("The original ``list` `of ``tuple` `is` `")``print``(``Input``)` `print``("\nThe answer ``is``")``print``(Output)`

Output:

```The original list of tuple is
[(2, 3), (4, 5), (6, 7), (2, 8)]

[6, 20, 42, 16]```

# Method 2: Using list comprehension This is the one-liner approach to achieve the solution to this task.

Python3

 `# Python code to convert list of tuple into list of elements``# formed by multiplying elements of tuple.` `# Input list initialisation``Input` `=` `[(``2``, ``3``), (``4``, ``5``), (``6``, ``7``), (``2``, ``8``)]` `# Iteration to multiply element and append multiplied element in``# new list``Output ``=` `[(x ``*` `y) ``for` `x, y ``in` `Input``]` `# printing output``print``("The original ``list` `of ``tuple` `is` `")``print``(``Input``)` `print``("\nThe answer ``is``")``print``(Output)`

Output:

```The original list of tuple is
[(2, 3), (4, 5), (6, 7), (2, 8)]

[6, 20, 42, 16]```

Method 3: Using map() and lambda function
In this method, we use the map() function along with a lambda function to multiply the elements of each tuple.

Python3

 `#Python code to convert list of tuple into list of elements``#formed by multiplying elements of tuple.``#Input list initialisation``Input` `=` `[(``2``, ``3``), (``4``, ``5``), (``6``, ``7``), (``2``, ``8``)]` `#Iteration to multiply element and append multiplied element in``#new list``Output ``=` `list``(``map``(``lambda` `x: x[``0``]``*``x[``1``], ``Input``))` `#printing output``print``(``"The original list of tuple is "``)``print``(``Input``)` `print``(``"\nThe answer is"``)``print``(Output)``#This code is contributed by Edula Vinay Kumar Reddy`

Output

```The original list of tuple is
[(2, 3), (4, 5), (6, 7), (2, 8)]

[6, 20, 42, 16]```

Time Complexity: O(n)
Auxiliary Space: O(n)

Method 4: Using reduce()

Use the reduce() function from the functools module to apply a lambda function to each tuple in the input list. The lambda function multiplies the two elements of the tuple, and reduce() applies this function to each tuple and returns a single value.

• Import the reduce() function from the functools module.
• Initialize the input list of tuples.
• Define a lambda function to multiply the elements of a tuple.
• Apply the lambda function to each tuple in the input list using reduce() function and append the result to the output list using a list comprehension.
• Print the original list of tuples.
• Print the list of multiplied elements.

Below is the implementation of the above approach:

Python3

 `# Import the reduce function from functools module``from` `functools ``import` `reduce` `# Initialize the input list of tuples``Input` `=` `[(``2``, ``3``), (``4``, ``5``), (``6``, ``7``), (``2``, ``8``)]` `# Define a lambda function to multiply the elements of a tuple``multiply ``=` `lambda` `x, y: x ``*` `y` `# Apply the lambda function to each tuple in the input list using reduce function``# and append the result to the output list using a list comprehension``Output ``=` `[``reduce``(multiply, tpl) ``for` `tpl ``in` `Input``]` `# Print the original list of tuples``print``(``"The original list of tuple is "``)``print``(``Input``)` `# Print the list of multiplied elements``print``(``"\nThe answer is"``)``print``(Output)`

Output

```The original list of tuple is
[(2, 3), (4, 5), (6, 7), (2, 8)]