首页 >后端开发 >Python教程 >如何在Python中查找嵌套列表的交集?

如何在Python中查找嵌套列表的交集?

Susan Sarandon
Susan Sarandon原创
2024-11-27 22:26:13764浏览

How to Find the Intersection of Nested Lists in Python?

嵌套列表的交集

使用集合运算或列表推导式可以直接确定两个平面列表的交集。但是,在处理嵌套列表时会出现挑战。

解决方案:

要查找嵌套列表的交集(其中两个列表都包含子列表),您可以利用交集集合数据结构的方法。通过利用此方法,您可以提取两个列表之间的公共元素,同时忽略嵌套结构。

下面是演示此方法的示例:

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]]

# Create a set from the flat list
s1 = set(c1)

# Create a set of sets from the nested list
s2 = {set(x) for x in c2}

# Find the intersection of the sets
c3 = [list(s1.intersection(x)) for x in s2]

在此示例中,结果 c3将包含嵌套列表 c1 和 `c2' 的交集:

c3 = [[13, 32], [7, 13, 28], [1, 6]]

以上是如何在Python中查找嵌套列表的交集?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn