Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mencari Persimpangan Pelbagai Senarai dalam Senarai dalam Python?

Bagaimana untuk Mencari Persimpangan Pelbagai Senarai dalam Senarai dalam Python?

Barbara Streisand
Barbara Streisandasal
2024-10-21 22:14:021000semak imbas

How to Find the Intersection of Multiple Lists within a List in Python?

Mencari Persilangan Pelbagai Senarai dalam Python

Dalam Python, menentukan persilangan dua senarai adalah mudah menggunakan set.intersection() kaedah. Walau bagaimanapun, persoalan timbul: bagaimanakah kita boleh mencari persilangan berbilang senarai dalam senarai?

Pertimbangkan senario di mana kita mempunyai senarai senarai, dinamakan dengan tepat d, mengandungi tiga elemen a, b dan c, seperti yang ditunjukkan di bawah:

<code class="python">d = [[1, 2, 3, 4], [2, 3, 4], [3, 4, 5, 6, 7]]</code>

Untuk menentukan persilangan ketiga-tiga senarai, kita boleh memanfaatkan kaedah set.intersection() Python dan fungsi map(). Fungsi map() mengambil dua argumen: fungsi dan boleh lelaran. Dalam kes ini, kami menggunakan fungsi map() dengan fungsi set() untuk menukar setiap elemen senarai dalam d menjadi set. Output yang terhasil ialah senarai set.

Akhir sekali, kami menggunakan kaedah set.intersection() untuk mengira persilangan set ini, dengan berkesan mencari persilangan ketiga-tiga senarai dalam d.

<code class="python">intersection = set.intersection(*map(set, d))</code>

Dengan melaksanakan kod ini, kami memperoleh persimpangan yang diingini:

<code class="python">print(intersection)  # Output: {3, 4}</code>

Oleh itu, walaupun apabila berurusan dengan berbilang senarai dalam senarai, Python menyediakan penyelesaian ringkas untuk menentukan persimpangan mereka menggunakan set.intersection () kaedah bersempena dengan fungsi map().

Atas ialah kandungan terperinci Bagaimana untuk Mencari Persimpangan Pelbagai Senarai dalam Senarai 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