首頁 >後端開發 >Python教學 >如何在Python中尋找嵌套清單的交集?

如何在Python中尋找嵌套清單的交集?

Susan Sarandon
Susan Sarandon原創
2024-11-27 22:26:13758瀏覽

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