When it is required to perform tuple multiplication, the 'zip' method and the generator expression can be used.
The zip method takes iterables, aggregates them into a tuple, and returns it as the result.
Generator is a simple way of creating iterators. It automatically implements a class with '__iter__()' and '__next__()' methods and keeps track of the internal states, as well as raises 'StopIteration' exception when no values are present that could be returned.
Below is a demonstration of the same −
Example
my_tuple_1 = (23, 45, 12, 56, 78) my_tuple_2 = (89, 41, 76, 0, 11) print("The first tuple is : ") print(my_tuple_1) print("The second tuple is : ") print(my_tuple_2) my_result = tuple(elem_1 * elem_2 for elem_1, elem_2 in zip(my_tuple_1, my_tuple_2)) print("The multiplied tuple is : ") print(my_result)
Output
The first tuple is : (23, 45, 12, 56, 78) The second tuple is : (89, 41, 76, 0, 11) The multiplied tuple is : (2047, 1845, 912, 0, 858)
Explanation
- Two tuples are defined, and are displayed on the console.
- They are zipped, and iterated through
- Every element from first tuple is multiple with the corresponding element in the second tuple.
- It is converted to a tuple.
- This operation is assigned to a value.
- It is displayed as output on the console.