Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mencari Persimpangan Senarai Bersarang dalam Python?

Bagaimana untuk Mencari Persimpangan Senarai Bersarang dalam Python?

Susan Sarandon
Susan Sarandonasal
2024-11-27 22:26:13758semak imbas

How to Find the Intersection of Nested Lists in Python?

Persilangan Senarai Bersarang

Menentukan persilangan dua senarai rata adalah mudah menggunakan operasi set atau pemahaman senarai. Walau bagaimanapun, cabaran timbul apabila berurusan dengan senarai bersarang.

Penyelesaian:

Untuk mencari persimpangan senarai bersarang, di mana kedua-dua senarai mengandungi subsenarai, anda boleh memanfaatkan persimpangan kaedah struktur data yang ditetapkan. Dengan menggunakan kaedah ini, anda boleh mengekstrak elemen biasa antara dua senarai sambil mengabaikan struktur bersarang.

Berikut ialah contoh untuk menunjukkan pendekatan ini:

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]

Dalam contoh ini, hasil c3 akan mengandungi persilangan senarai bersarang c1 dan `c2':

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

Atas ialah kandungan terperinci Bagaimana untuk Mencari Persimpangan Senarai Bersarang dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn