×

Python Tutorial

Python Basics

Python I/O

Python Operators

Python Conditions & Controls

Python Functions

Python Strings

Python Modules

Python Lists

Python OOPs

Python Arrays

Python Dictionary

Python Sets

Python Tuples

Python Exception Handling

Python NumPy

Python Pandas

Python File Handling

Python WebSocket

Python GUI Programming

Python Image Processing

Python Miscellaneous

Python Practice

Python Programs

Python program to perform cross pairing in tuple list

Here, we are given a list of tuples and we need to perform a cross pairing operation on both the tuple list and return the cross paired tuple.
Submitted by Shivang Yadav, on September 02, 2021

Python programming language is a high-level and object-oriented programming language. Python is an easy to learn, powerful high-level programming language. It has a simple but effective approach to object-oriented programming.

Tuples in Python is a collection of items similar to list with the difference that it is ordered and immutable.

Example:

tuple = ("python", "includehelp", 43, 54.23)

List is a sequence data type. It is mutable as its values in the list can be modified. It is a collection of an ordered set of values enclosed in square brackets [].

Example:

list = [3 ,1,  5, 7]

We have two lists with each element a tuple and we need to perform cross pairing i.e. we need to create a tuple with second elements of tuples whose first elements are the same.

Here is an example for a better understanding of the problem,

Input:
tupList1 = [(1, 8), (9, 6), (0, 8), (4,5)] 
tupList2 = [(7, 8), (2, 5), (3, 6), (4,7)]

Output:
(5, 7)

Explanation: Here, only the tuples (4,5) and (4,7) have common first elements. So, cross pairing will consider both of them only.

Solution:

To solve this problem, we will be traversing the list and then checking for each tuple if there exists a tuple in another list that has the same first elements as this tuple. If yes, we will make a tuple with the second values of both the tuples and store them in a list.

For performing this task in the python programming language, we have more than one way as python has many built-in methods to reduce our efforts in tasks.

Method 1:

One way to solve the problem is by using list comprehension along with comparison using condition statements to create a new tuple that will have a second element of the tuple whose first element is the same.

# Python program to perform 
# Cross Pairing in Tuple List

# Creating and printing tuple list  
myList1 = [(1, 8), (9, 6), (0, 8), (4,5)]
myList2 = [(1, 3), (2, 1), (9, 7), (2, 17)]
print("Tuples of list 1 are " + str(myList1))
print("Tuples of list 2 are " + str(myList2))

# Performing cross Pairing in Tuple list 
crossTupleList = [(sub1[1], sub2[1]) for sub2 in myList2 for sub1 in myList1 if sub1[0] == sub2[0]]

# Printing crossed Tuple list 
print("Resultant Tuple list : " + str(crossTupleList))

Output:

Tuples of list 1 are [(1, 8), (9, 6), (0, 8), (4, 5)]
Tuples of list 2 are [(1, 3), (2, 1), (9, 7), (2, 17)]
Resultant Tuple list : [(8, 3), (6, 7)]

Method 2:

An alternate method to solve the problem is by using the zip() method with the condition of the first element's equality along with list comprehension.

# Python program to perform
# Cross Pairing in Tuple List

# Creating and printing tuple list  
myList1 = [(1, 8), (9, 6), (0, 8), (4,5)]
myList2 = [(1, 3), (2, 1), (9, 7), (2, 17)]
print("Tuples of list 1 are " + str(myList1))
print("Tuples of list 2 are " + str(myList2))

# Performing cross Pairing in Tuple list 
crossTupleList = [(val1[1], val2[1]) for val1, val2 in zip(myList1, myList2) if val1[0] == val2[0]]

# Printing crossed Tuple list 
print("Resultant Tuple list : " + str(crossTupleList))

Output:

Tuples of list 1 are [(1, 8), (9, 6), (0, 8), (4, 5)]
Tuples of list 2 are [(1, 3), (2, 1), (9, 7), (2, 17)]
Resultant Tuple list : [(8, 3)]

Python Tuple Programs »



Related Programs

Advertisement
Advertisement


Comments and Discussions!

Load comments ↻


Advertisement
Advertisement
Advertisement

Copyright © 2025 www.includehelp.com. All rights reserved.