Open In App

Python | Check if two list of tuples are identical

Sometimes, while working with tuples, we can have a problem in which we have list of tuples and we need to test if they are exactly identical. This is a very basic problem and can occur in any domain. Let’s discuss certain ways in which this task can be done. 

Method #1 : Using == operator This is the simplest and elegant way to perform this task. It also checks for equality of tuple indices with one other. 




# Python3 code to demonstrate working of
# Check if two list of tuples are identical
# using == operator
 
# initialize list of tuples
test_list1 = [(10, 4), (2, 5)]
test_list2 = [(10, 4), (2, 5)]
 
# printing original tuples lists
print("The original list 1 : " + str(test_list1))
print("The original list 2 : " + str(test_list2))
 
# Check if two list of tuples are identical
# using == operator
res = test_list1 == test_list2
 
# printing result
print("Are tuple lists identical ? : " + str(res))

Output
The original list 1 : [(10, 4), (2, 5)]
The original list 2 : [(10, 4), (2, 5)]
Are tuple lists identical ? : True

  Method #2 : Using cmp() This inbuilt function, computes the difference of values of tuples. If they are computed out to be 0, then it means that tuples are identical. Works only with Python2. 




# Python code to demonstrate working of
# Check if two list of tuples are identical
# using cmp()
 
# initialize list of tuples
test_list1 = [(10, 4), (2, 5)]
test_list2 = [(10, 4), (2, 5)]
 
# printing original tuples lists
print("The original list 1 : " + str(test_list1))
print("The original list 2 : " + str(test_list2))
 
# Check if two list of tuples are identical
# using cmp()
res = not cmp(test_list1, test_list2)
 
# printing result
print("Are tuple lists identical ? : " + str(res))

Output
The original list 1 : [(10, 4), (2, 5)]
The original list 2 : [(10, 4), (2, 5)]
Are tuple lists identical ? : True

Method #3 : Using all() and zip()
This method uses the built-in function ‘zip’ to iterate through the two lists of tuples and compares the elements with the use of the “all()” function. The all() function returns true if all elements in an iterable are true, and in this case, it checks if all the elements in the zipped tuple are equal, hence returning true if the lists are identical, and false otherwise.




# Python3 code to demonstrate working of
# Check if two list of tuples are identical
# using all() and zip()
 
# initialize list of tuples
test_list1 = [(10, 4), (2, 5)]
test_list2 = [(10, 4), (2, 5)]
 
# printing original tuples lists
print("The original list 1 : " + str(test_list1))
print("The original list 2 : " + str(test_list2))
 
# Check if two list of tuples are identical
# using all() and zip()
res = all(x == y for x, y in zip(test_list1, test_list2))
 
# printing result
print("Are tuple lists identical ? : " + str(res))
 
#This code is contributed by Edula Vinay Kumar Reddy

Output
The original list 1 : [(10, 4), (2, 5)]
The original list 2 : [(10, 4), (2, 5)]
Are tuple lists identical ? : True

Time Complexity: O(n) where n is the length of the tuples
Auxiliary Space: O(1)

Method 4 : using the set() function

  1. Create two lists of tuples test_list1 and test_list2.
  2. Convert both the lists to sets set1 and set2 respectively.
  3. Check if set1 is equal to set2 using the == operator.
  4. If set1 is equal to set2, it means that the two original lists are identical. Set the result res to True, otherwise set it to False.
  5. Print the result res along with an appropriate message.




# Python3 code to demonstrate working of
# Check if two list of tuples are identical
# using set()
 
# initialize list of tuples
test_list1 = [(10, 4), (2, 5)]
test_list2 = [(10, 4), (2, 5)]
 
# convert lists to sets
set1 = set(test_list1)
set2 = set(test_list2)
 
# check if sets are identical
res = set1 == set2
 
# print result
print("Are tuple lists identical? : " + str(res))

Output
Are tuple lists identical? : True

Time complexity: O(n), where n is the length of the lists.
Auxiliary space: O(n), where n is the length of the lists (to store the sets).


Article Tags :