


How Can I Efficiently Find Intersections of Nested Lists in Python?
Dec 04, 2024 am 05:40 AMFinding Intersections of Nested Lists
Retrieving intersections from nested lists poses a challenge that differs from the straightforward approach for flat lists. This article explores a solution to efficiently determine the intersections of nested lists.
As demonstrated in the problem content, finding intersections of flat lists can be easily achieved using set intersection:
b1 = [1,2,3,4,5,9,11,15] b2 = [4,5,6,7,8] print(set(b1) & set(b2)) # Output: {4, 5}
However, when dealing with nested lists like:
c1 = [1, 6, 7, 10, 13, 28, 32, 41, 58, 63] c2 = [[13, 17, 18, 21, 32], [7, 11, 13, 14, 28], [1, 5, 6, 8, 15, 16]]
the straightforward approach fails to produce the desired result:
print(set(c1) & set(c2)) # Output: set([])
The intersection we aim for is:
c3 = [[13, 32], [7, 13, 28], [1, 6]]
Solution:
The solution lies in converting the nested lists to sets, performing set intersections, and then reconstructing the original nested list structure:
# Convert nested lists to sets set_c1 = set(c1) set_c2 = [set(sublist) for sublist in c2] # Compute intersections intersections = [set_c1.intersection(sublist) for sublist in set_c2] # Reconstruct nested list structure result = [[item for item in intersection] for intersection in intersections] # Print the result print(result) # Output: [[13, 32], [7, 13, 28], [1, 6]]
By leveraging set intersection and set comprehension, this solution efficiently retrieves the intersections of nested lists, preserving their structure.
The above is the detailed content of How Can I Efficiently Find Intersections of Nested Lists in Python?. For more information, please follow other related articles on the PHP Chinese website!

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

How to Use Python to Find the Zipf Distribution of a Text File

How Do I Use Beautiful Soup to Parse HTML?

How to Work With PDF Documents Using Python

How to Cache Using Redis in Django Applications

Introducing the Natural Language Toolkit (NLTK)

How to Perform Deep Learning with TensorFlow or PyTorch?
