Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mencari Persimpangan Pelbagai Set dalam Python dengan Cekap?

Bagaimana untuk Mencari Persimpangan Pelbagai Set dalam Python dengan Cekap?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-27 06:36:03628semak imbas

How to Efficiently Find the Intersection of Multiple Sets in Python?

Mencari Persilangan Berbilang Set dengan Cekap dalam Python

Apabila bekerja dengan berbilang set dalam Python, selalunya perlu untuk mengira persilangan mereka, iaitu, unsur-unsur yang biasa kepada semua set. Pendekatan biasa ialah melakukan satu siri persilangan berpasangan menggunakan kaedah set.intersection(). Walau bagaimanapun, ini boleh menjadi tidak cekap untuk set data yang besar.

Python 2.6 memperkenalkan kaedah terbina dalam yang lebih cekap untuk mengira persilangan berbilang set. Kaedah set.intersection() kini menyokong berbilang argumen, membolehkan anda menentukan semua set yang persilangannya ingin anda kira.

Untuk mencari persilangan set s1, s2, s3 dan seterusnya, hanya gunakan:

<code class="python">u = set.intersection(s1, s2, s3)</code>

Jika set disimpan dalam senarai, anda boleh menggunakan pengembangan senarai untuk mengautomasikan proses:

<code class="python">setlist = [s1, s2, s3]
u = set.intersection(*setlist)</code>

Notasi ini mengembangkan senarai menjadi argumen individu apabila memanggil set.intersection () supaya ia boleh melakukan persilangan dalam satu operasi.

Perhatikan bahawa set.intersection bukan kaedah statik, bermakna ia mesti dipanggil daripada contoh kelas set. Jika senarai argumen kosong, panggilan set.intersection() tanpa contoh akan mengakibatkan ralat.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Persimpangan Pelbagai Set dalam Python dengan Cekap?. 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