Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mencari Persimpangan Senarai Bersarang dalam 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!