paint-brush
List Comparison in Python: Differences, Intersections, and Unionsby@luca1iu
233 reads

List Comparison in Python: Differences, Intersections, and Unions

by Luca LiuMarch 8th, 2024
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Check out how to compare lists like a Python pro with differences, intersections, unions, and more, featuring easy-to-follow examples.
featured image - List Comparison in Python: Differences, Intersections, and Unions
Luca Liu HackerNoon profile picture


In Python, it's common to need to compare two lists to find their differences, intersections, unions, and more. Let's dive into some common scenarios and the corresponding Python code examples.

Scenario 1: Finding the Differences (Set Difference)

The set difference operation returns a new set with elements that are in the first set but not in the second set.

list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]

# Find the differences between list1 and list2 using set difference
difference = list(set(list1) - set(list2))
print("Differences:", difference)

# Use the difference method to find the dissimilar elements between list1 and list2
difference = list(set(list1).difference(set(list2)))
print("Differences:", difference)

Output:

Differences: [1, 2]

In this example, we use Python's set data type and the - operator or difference method to perform the set difference operation between list1 and list2.

Scenario 2: Finding the Intersection (Set Intersection)

The set intersection operation returns a new set with elements that are common to both sets.

list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]

# Using set intersection to find the common elements between list1 and list2
intersection = list(set(list1) & set(list2))
print("Intersection:", intersection)

# Using set's intersection method to find the common elements between list1 and list2
intersection = list(set(list1).intersection(set(list2)))
print("Intersection:", intersection)

Output:

Intersection: [3, 4, 5]

Here, we use Python's set data type and the & operator or intersection method to find the intersection between list1 and list2.

Scenario 3: Finding the Union (Set Union)

The set union operation returns a new set with all the unique elements from both sets.

list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]

# Using set union operator to find the union of the two lists
union = list(set(list1) | set(list2))
print("Union:", union)

# Using set union method to find the union of the two lists
union = list(set(list1).union(set(list2)))
print("Union:", union)

Output:

Union: [1, 2, 3, 4, 5, 6, 7]

In this case, we use Python's set data type and the | operator and union method to obtain the union of list1 and list2.

Scenario 4: Finding the Symmetric Difference (Set Symmetric Difference)

The set symmetric difference operation returns a new set with elements that are in either of the sets but not in both.

list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]

# Calculate symmetric difference using the set XOR operator (^)
symmetric_difference = list(set(list1) ^ set(list2))
print("Symmetric Difference:", symmetric_difference)

# Calculate symmetric difference using the symmetric_difference method
symmetric_difference = list(set(list1).symmetric_difference(set(list2)))
print("Symmetric Difference:", symmetric_difference)

Output:

Symmetric Difference: [1, 2, 6, 7]

Here, we use Python's set data type and the ^ operator and symmetric_difference method to find the symmetric difference between list1 and list2.

Conclusion:

In this article, we explored how to compare two lists in Python to find their differences, intersections, unions, and symmetric differences. Python's built-in set data type and its set operations make it simple to achieve these common list comparison tasks.

By using the provided code examples and understanding the principles behind them, you can easily compare and manipulate lists in Python for various use cases.


Thank you for taking the time to explore data-related insights with me. I appreciate your engagement. If you find this information helpful, I invite you to follow me or connect with me on LinkedIn or X(@Luca_DataTeam). You can also catch glimpses of my personal life on Instagram, Happy exploring!👋


Also published here.