Menentukan Persilangan Senarai Bersarang
Mencari persilangan dua senarai rata ialah proses yang mudah. Walau bagaimanapun, ia menjadi lebih kompleks apabila berurusan dengan senarai bersarang. Artikel ini menyediakan penyelesaian untuk mengekstrak elemen biasa daripada dua senarai bersarang dan mempersembahkannya dalam format bersarang.
Untuk memahami penyelesaian, adalah penting untuk ambil perhatian bahawa persilangan dua set, atau senarai, ialah koleksi unsur-unsur yang biasa bagi kedua-dua set. Dalam kes senarai bersarang, kita perlu melakukan operasi persilangan pada elemen individu setiap senarai.
Untuk mencapai ini, kita boleh menggunakan struktur data set terbina dalam dalam Python, yang menyediakan operasi yang cekap untuk mencari persimpangan. Pertimbangkan senarai bersarang berikut:
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]]
Matlamat kami adalah untuk mencari persimpangan kedua-dua senarai ini dan mendapatkan hasil berikut:
c3 = [[13, 32], [7, 13, 28], [1, 6]]
Untuk mencapai ini, kami boleh menukar setiap bersarang senaraikan ke dalam satu set elemennya. Kemudian, kita boleh melakukan operasi persilangan pada set ini untuk mengenal pasti elemen sepunya. Akhir sekali, kita boleh menukar set bersilang kembali ke dalam senarai bersarang, mengekalkan struktur bersarang asal.
# Convert each nested list to a set set1 = set(c1) set2s = [set(list_) for list_ in c2] # Find the intersection of the sets intersected_sets = set1.intersection(*set2s) # Convert the intersected set back into a nested list c3 = [[element for element in list_ if element in intersected_sets] for list_ in c2]
Dengan mengikuti langkah ini, kita boleh mencari persilangan senarai bersarang dengan cekap dan membentangkan hasilnya dalam bentuk yang diingini format.
Atas ialah kandungan terperinci Bagaimana Anda Mencari Persimpangan Dua Senarai Bersarang dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!