Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah saya boleh mencari dan mencari nilai dengan cekap dalam senarai Python?
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.
Di luar pendekatan asas, Python menawarkan kaedah yang lebih maju untuk mencari nilai dalam senarai berdasarkan pada kriteria tertentu:
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.
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.
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!