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

Bagaimana Anda Mencari Persimpangan Dua Senarai Bersarang dalam Python?

DDD
Lepaskan: 2024-11-30 16:54:10
asal
933 orang telah melayarinya

How Do You Find the Intersection of Two Nested Lists in Python?

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]]
Salin selepas log masuk

Matlamat kami adalah untuk mencari persimpangan kedua-dua senarai ini dan mendapatkan hasil berikut:

c3 = [[13, 32], [7, 13, 28], [1, 6]]
Salin selepas log masuk

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]
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan