Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Semak sama ada Penjana Kosong dalam Python?
Mengesan Permulaan Penjana Kosong
Dalam Python, penjana ialah iterator yang menghasilkan nilai satu demi satu. Oleh itu, menentukan sama ada penjana kosong dari awal boleh menjadi satu cabaran. Tidak seperti senarai atau tupel, penjana tidak mempunyai panjang yang wujud atau kaedah isEmpty.
Menangani Cabaran
Untuk menangani perkara ini, satu pendekatan biasa melibatkan penggunaan fungsi pembantu untuk mengintip nilai pertama dalam penjana tanpa memakannya. Jika fungsi peek mengembalikan Tiada, ia menunjukkan bahawa penjana tidak mempunyai item.
Pelaksanaan Cadangan
Satu fungsi sedemikian, dinamakan peek, boleh dilaksanakan seperti berikut:
<code class="python">def peek(iterable): try: first = next(iterable) except StopIteration: return None return first, itertools.chain([first], iterable)</code>
Menggunakan Peek untuk Menentukan Penjana Kosong
Untuk menentukan sama ada penjana kosong, anda boleh menggunakan fungsi mengintip dengan cara berikut:
<code class="python">res = peek(mysequence) if res is None: # sequence is empty. Do stuff. else: first, mysequence = res # Do something with first, maybe? # Then iterate over the sequence: for element in mysequence: # etc.</code>
Dalam contoh ini, jika penjana kosong, fungsi peek akan mengembalikan Tiada dan keadaan if akan menjadi benar. Jika tidak, blok else akan dilaksanakan. Dengan menggunakan pendekatan ini, anda boleh mengesan dengan berkesan jika penjana kosong dari permulaannya.
Atas ialah kandungan terperinci Bagaimana untuk Semak sama ada Penjana Kosong dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!