Bagaimana untuk Menguji Keahlian Pelbagai Nilai dalam Senarai Python?

Linda Hamilton
Lepaskan: 2024-10-28 04:37:30
asal
472 orang telah melayarinya

How to Test Membership of Multiple Values in a Python List?

Ujian Keahlian untuk Pelbagai Nilai dalam Senarai

Soalan:

Bagaimana seseorang boleh menguji jika berbilang nilai adalah ahli senarai dalam Python? Hasil yang dijangkakan ialah mengembalikan nilai boolean yang menunjukkan keahlian untuk setiap nilai, tetapi pendekatan semasa menghasilkan output yang tidak dijangka.

Penjelasan:

Coretan kod yang disediakan, ' a','b' dalam ['b', 'a', 'foo', 'bar'], tidak berfungsi seperti yang dimaksudkan kerana Python mentafsirkannya sebagai tuple dan bukannya ujian keahlian untuk nilai individu.

Jawapan:

Untuk menguji dengan betul keahlian berbilang nilai dalam senarai, gunakan ungkapan berikut:

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

Ini akan mengembalikan True jika semua nilai dalam senarai kedua adalah ahli senarai pertama dan Palsu sebaliknya.

Pilihan Lain:

Menggunakan Set:

<code class="python">set(['a', 'b']).issubset(set(['a', 'b', 'foo', 'bar']))
{'a', 'b'} <= {'a', 'b', 'foo', 'bar'}</code>
Salin selepas log masuk

Kaedah ini berfungsi dengan baik apabila elemen dalam senarai boleh dicincang, tetapi ia boleh menjadi tidak cekap jika senarainya besar.

Ujian Kelajuan:

Hasil penanda aras menunjukkan bahawa ujian subset (menggunakan set) biasanya lebih pantas daripada semua ungkapan, tetapi perbezaannya tidak ketara melainkan senarainya kecil dan operasi subset digunakan dengan set. Walau bagaimanapun, jika elemen dalam senarai tidak boleh dicincang atau jika senarainya besar, ungkapan semua mungkin lebih cekap.

Kesimpulan:

Menggunakan ungkapan semua umumnya merupakan amalan yang baik untuk menguji berbilang nilai dalam senarai, terutamanya apabila elemen tidak boleh dicincang dan apabila kecekapan menjadi kebimbangan. Jika elemen boleh dicincang dan senarainya kecil, ujian subset boleh memberikan kelebihan kelajuan yang sedikit.

Atas ialah kandungan terperinci Bagaimana untuk Menguji Keahlian Pelbagai Nilai dalam Senarai 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan