DEV Community

Cover image for Comparing Two Lists in Python: Differences, Intersections, and Unions
Luca Liu
Luca Liu

Posted on • Edited on

Comparing Two Lists in Python: Differences, Intersections, and Unions

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)
Enter fullscreen mode Exit fullscreen mode

Output:

Differences: [1, 2]
Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

Output:

Intersection: [3, 4, 5]

Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

Output:

Union: [1, 2, 3, 4, 5, 6, 7]
Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

Output:

Symmetric Difference: [1, 2, 6, 7]
Enter fullscreen mode Exit fullscreen mode

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.


Explore more

Thank you for taking the time to explore data-related insights with me. I appreciate your engagement.

🚀 Connect with me on LinkedIn

🎃 Connect with me on X

🌍 Connect with me on Instagram

Top comments (0)