Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memeriksa Berbilang Nilai dengan Cekap dalam Senarai dalam Python: Semua vs Set?

Bagaimana untuk Memeriksa Berbilang Nilai dengan Cekap dalam Senarai dalam Python: Semua vs Set?

Susan Sarandon
Susan Sarandonasal
2024-11-02 04:44:30478semak imbas

How to Efficiently Check for Multiple Values in a List in Python: All vs Sets?

Menguji Berbilang Nilai untuk Keahlian dalam Senarai

Apabila cuba menyemak sama ada berbilang nilai tergolong dalam senarai, anda mungkin menemui hasil yang tidak dijangka. Sebagai contoh, menguji keahlian menggunakan pengendali ',' Python mungkin mengembalikan tuple yang tidak dijangka.

<code class="python">'a','b' in ['b', 'a', 'foo', 'bar']
('a', True)</code>

Fungsi "semua" Python

Untuk menguji keahlian berbilang nilai dengan tepat, gunakan semua fungsi Python dalam bersama dengan pemahaman senarai, seperti yang ditunjukkan di bawah:

<code class="python">all(x in ['b', 'a', 'foo', 'bar'] for x in ['a', 'b'])
True</code>

Pendekatan Alternatif

Set

Set juga boleh digunakan untuk ujian keahlian. Walau bagaimanapun, mereka mempunyai batasan. Contohnya, mereka tidak boleh mengendalikan elemen yang tidak boleh dicincang seperti senarai.

<code class="python">{'a', 'b'} <= {'a', 'b', 'foo', 'bar'}
True

{'a', ['b']} <= {'a', ['b'], 'foo', 'bar'}
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'</code>

Perbandingan Kelajuan

Dalam kebanyakan kes, ujian subset menggunakan fungsi semua adalah lebih pantas daripada menggunakan set. Walau bagaimanapun, kelebihan ini berkurangan apabila senarainya besar dan mengandungi banyak elemen tidak boleh dicincang. Selain itu, jika item ujian sudah disimpan dalam satu set, menggunakan ujian subset akan menjadi lebih pantas dengan ketara.

Kesimpulan

Apabila menguji keahlian berbilang nilai dalam senarai, fungsi semua dengan senarai kefahaman adalah pendekatan yang disyorkan. Set boleh berguna dalam situasi tertentu, tetapi batasannya harus dipertimbangkan. Pendekatan yang paling optimum bergantung pada konteks khusus dan data yang sedang diuji.

Atas ialah kandungan terperinci Bagaimana untuk Memeriksa Berbilang Nilai dengan Cekap dalam Senarai dalam Python: Semua vs Set?. 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