Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah saya boleh mencari dan mencari nilai dengan cekap dalam senarai Python?

Bagaimanakah saya boleh mencari dan mencari nilai dengan cekap dalam senarai Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-11 19:09:02357semak imbas

How Can I Efficiently Find and Locate Values Within Python Lists?

Mencari Nilai dalam Senarai: Panduan Komprehensif Python

Pendekatan Paling Mudah

Kaedah paling mudah untuk mencari elemen dalam senarai dalam Python adalah dengan menggunakan operator dalam:

if item in my_list:
    print("Desired item is in list")

Teknik ini dengan cekap menyemak padanan tepat dan mengembalikan True jika item itu wujud dalam senarai atau False jika ia tidak ditemui. Walau bagaimanapun, kaedah ini mempunyai had dari segi ketepatan, terutamanya apabila berurusan dengan nilai titik terapung.

Pilihan Alternatif

Di luar pendekatan asas, Python menawarkan kaedah yang lebih maju untuk mencari nilai dalam senarai berdasarkan pada kriteria tertentu:

Menapis Senarai untuk Padanan

Untuk mencari semua elemen yang memenuhi syarat tertentu dalam senarai, pemahaman senarai atau ungkapan penjana menyediakan penyelesaian yang serba boleh:

matches = [x for x in lst if fulfills_some_condition(x)]
matches = (x for x in lst if x > 6)

Pendekatan ini dengan cekap mengembalikan senarai atau penjana yang mengandungi elemen padanan.

Mencari Padanan Pertama

Untuk mendapatkan semula elemen pertama yang memenuhi kriteria yang ditentukan, pertimbangkan untuk menggunakan gelung for:

for x in lst:
    if fulfills_some_condition(x):
        return x

Sebagai alternatif, fungsi seterusnya juga boleh digunakan:

next(x for x in lst if fulfills_some_condition(x))

Pendekatan ini mengembalikan elemen pertama ditemui atau menimbulkan pengecualian StopIteration jika tiada padanan ditemui.

Menentukan Lokasi Item

Senarai menyediakan kaedah indeks untuk mendapatkan semula indeks elemen tertentu:

[1,2,3].index(2)  # Returns 1
[1,2,3].index(4)  # Raises ValueError

Walau bagaimanapun, jika pendua wujud, indeks mendapatkan semula indeks terkecil. Pertimbangkan untuk menggunakan enumerate untuk mendapatkan semua indeks unsur pendua:

[i for i,x in enumerate([1,2,3,2]) if x==2]  # Returns [1, 3]

Atas ialah kandungan terperinci Bagaimanakah saya boleh mencari dan mencari nilai dengan cekap dalam senarai 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