Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk mencari Elemen Padanan Pertama dalam Boleh Diterbitkan dalam Python?
Untuk mendapatkan semula item awal daripada boleh lelar yang memenuhi syarat tertentu, anda boleh mengambil pendekatan berikut:
Bagi mereka yang perlu membuang Kes untuk StopIteration (jika tiada padanan ditemui):
next(x for x in the_iterable if x > 3)
Untuk senario di mana anda ingin mengembalikan nilai lalai (mis. Tiada):
next((x for x in the_iterable if x > 3), default_value)
Anda boleh menggunakan kaedah .next() bagi iterator, yang akan meningkat serta-merta jika iterator tamat serta-merta (iaitu, tiada item dalam iterable memenuhi syarat) StopLelaran. Jika anda tidak mengambil berat tentang situasi ini (contohnya, anda tahu pasti terdapat sekurang-kurangnya satu item yang memenuhi syarat), anda boleh menggunakan .next() secara langsung.
Jika anda benar-benar mengambil berat, anda boleh menggunakan itertools, a for...: break loop, atau genexp untuk melaksanakan fungsi anda. Walau bagaimanapun, alternatif ini tidak memberikan banyak nilai tambah, jadi disyorkan untuk menggunakan versi yang lebih mudah yang anda cadangkan pada asalnya:
def first(the_iterable, condition = lambda x: True): for i in the_iterable: if condition(i): return i
Atas ialah kandungan terperinci Bagaimana untuk mencari Elemen Padanan Pertama dalam Boleh Diterbitkan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!