Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Anda Mencari Persilangan Berbilang Set dengan Cekap dalam Python?

Bagaimanakah Anda Mencari Persilangan Berbilang Set dengan Cekap dalam Python?

Linda Hamilton
Linda Hamiltonasal
2024-10-26 04:44:02533semak imbas

How Do You Efficiently Find the Intersection of Multiple Sets in Python?

Persilangan Cekap Berbilang Set dalam Python

Mencari persilangan berbilang set ialah operasi biasa apabila bekerja dengan data dalam Python. Untuk mencapai ini, seseorang boleh menggunakan gelung untuk mengira secara berulang persilangan setiap pasangan set. Walau bagaimanapun, pendekatan ini boleh menjadi tidak cekap untuk koleksi set yang besar.

Fungsi Intersect Terbina dalam

Bermula daripada Python versi 2.6, cara yang lebih optimum untuk melaksanakan operasi ini tersedia melalui fungsi set.intersection(). Fungsi ini menerima berbilang argumen, membolehkan pengiraan langsung persilangan lebih daripada dua set. Dalam bentuk yang paling mudah, seseorang boleh menulis:

u = set.intersection(s1, s2, s3)

di mana s1, s2 dan s3 ialah set yang perlu disilang.

Tetapkan Peluasan Senarai

Jika koleksi set disimpan dalam senarai, sintaks berikut boleh digunakan untuk mengembangkan senarai menjadi berbilang argumen:

u = set.intersection(*setlist)

di mana *setlist melakukan pengembangan senarai, membolehkan pelaksanaan yang cekap bagi operasi persilangan pada semua set dalam senarai.

Pertimbangan

Perhatikan bahawa set.intersection bukan kaedah statik. Ia dipanggil pada set pertama dalam senarai, dengan set selebihnya berfungsi sebagai hujah. Jika senarai argumen kosong, TypeError akan dibangkitkan. Selain itu, susunan hujah untuk set.intersection() tidak menjejaskan keputusan. Oleh itu, persilangan berbilang set boleh dikira dengan cekap tanpa memerlukan gelung berulang atau fungsi tersuai.

Atas ialah kandungan terperinci Bagaimanakah Anda Mencari Persilangan Berbilang Set dengan Cekap 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