Mendapatkan elemen pertama yang memenuhi syarat tertentu daripada senarai yang berpotensi luas adalah perkara biasa tugasan. Walaupun fungsi tersuai seperti anda boleh memenuhi tujuan ini, mungkin terdapat alternatif yang lebih cekap terbina dalam Python.
Untuk versi ini, pertimbangkan seterusnya, fungsi terbina dalam yang menghasilkan dua pendekatan berikut:
Meningkatkan StopLelaran:
next(x for x in the_iterable if x > 3)
Mengembalikan nilai lalai (mis., Tiada):
next((x for x in the_iterable if x > 3), default_value)
Nota: Penyelesaian di bawah adalah kurang cekap daripada mereka untuk Python 2.6 kerana mereka memproses keseluruhan senarai.
kaedah seterusnya:
.next()
Jika tiada unsur yang memenuhi syarat, StopIteration dinaikkan serta-merta.
Fungsi tersuai (mengikut paral anda cadangan):
def first(the_iterable, condition = lambda x: True): for i in the_iterable: if condition(i): return i
itertools:
from itertools import ifilter, islice first_item = next(ifilter(lambda x: x > 3, the_iterable))</h3> <li> <p>untuk gelung dengan putus:</p> <pre class="brush:php;toolbar:false">for item in the_iterable: if condition(item): break first_item = item
Cuba/kecuali HentikanLelaran:
try: first_item = next(x for x in the_iterable if condition(x)) except StopIteration: return None
Atas ialah kandungan terperinci Bagaimana untuk Cekap Mencari Item Padanan Pertama dalam Senarai Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!