Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk mencari Elemen Padanan Pertama dalam Boleh Diterbitkan dalam Python?

Bagaimana untuk mencari Elemen Padanan Pertama dalam Boleh Diterbitkan dalam Python?

Susan Sarandon
Lepaskan: 2024-12-10 17:24:11
asal
739 orang telah melayarinya

How to Find the First Matching Element in an Iterable in Python?

Mencari Elemen Padanan Pertama dalam Boleh Lelar

Untuk mendapatkan semula item awal daripada boleh lelar yang memenuhi syarat tertentu, anda boleh mengambil pendekatan berikut:

Python 2.6 dan Python 3

Bagi mereka yang perlu membuang Kes untuk StopIteration (jika tiada padanan ditemui):

next(x for x in the_iterable if x > 3)
Salin selepas log masuk

Untuk senario di mana anda ingin mengembalikan nilai lalai (mis. Tiada):

next((x for x in the_iterable if x > 3), default_value)
Salin selepas log masuk

Python 2.5 dan lebih awal

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
Salin selepas log masuk

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan