Cara Menyemak Kewujudan Elemen dengan Cekap dalam Senarai: Pintasan dan Amalan Terbaik

DDD
Lepaskan: 2024-11-17 06:36:03
asal
967 orang telah melayarinya

How to Efficiently Check for Element Existence in a List: Shortcuts and Best Practices

Menyemak Kewujudan Elemen dalam Senarai Menggunakan Pintasan

Adalah tugas biasa untuk mengesahkan sama ada satu atau lebih elemen berada dalam senarai. Daripada mencipta fungsi yang terperinci, anda boleh menggunakan pendekatan ringkas berikut.

Pyton atau operator menilai hujahnya secara berurutan, mengembalikan nilai kebenaran atau tidak kosong yang pertama. Walaupun ini mungkin kelihatan seperti penyelesaian, ia gagal dalam kes senarai. Seperti yang ditunjukkan di atas, (1 atau 2) dalam menilai kepada Salah, manakala (2 atau 1) dalam menilai kepada Benar. Ini berlaku kerana 1 menilai kepada False dalam konteks Boolean, menyebabkan ungkapan itu bersamaan dengan False dalam a.

Kaedah yang lebih cekap dan boleh dibaca ialah menggunakan pemahaman senarai atau set persimpangan. Menggunakan pemahaman senarai, anda boleh menapis elemen senarai pertama berdasarkan kehadirannya dalam senarai kedua. Contohnya:

L1 = [2, 3, 4]
L2 = [1, 2]
[i for i in L1 if i in L2]  # Returns [2]
Salin selepas log masuk

Sebagai alternatif, anda boleh menukar senarai kepada set, melakukan set persilangan dan menggunakan nilai Boolean set yang terhasil. Pendekatan ini berfaedah apabila mengendalikan elemen pendua dengan cekap:

S1 = set(L1)
S2 = set(L2)
S1.intersection(S2)  # Returns set([2])
Salin selepas log masuk

Kedua-dua senarai kosong dan set kosong menilai kepada False, membolehkan anda menilai kehadirannya secara langsung menggunakan logik Boolean.

Atas ialah kandungan terperinci Cara Menyemak Kewujudan Elemen dengan Cekap dalam Senarai: Pintasan dan Amalan Terbaik. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan