Bolehkah Anda Menghapuskan Pembolehubah Iterator dalam Python Untuk Gelung?

Susan Sarandon
Lepaskan: 2024-11-26 07:49:11
asal
236 orang telah melayarinya

Can You Eliminate the Iterator Variable in Python For Loops?

Menghapuskan Pembolehubah Iterator dalam For Gelung

Ia mungkin kelihatan seperti tugas yang mudah untuk mengulang dalam julat, melaksanakan set arahan yang sama bilangan kali tertentu. Walau bagaimanapun, bagaimana jika pembolehubah lelaran (biasanya dilambangkan sebagai 'i') tidak mempunyai tujuan yang boleh dilihat? Adakah mungkin untuk mengetepikan penggunaannya?

Tiada Alternatif Langsung

Pada pandangan pertama, jawapannya nampaknya negatif. Sintaks Python memberi mandat bahawa setiap gelung for merangkumi pembolehubah lelaran untuk melintasi koleksi atau jujukan yang diulang.

Meniru Tingkah Laku Lelaran

Walaupun tiada lelaran yang jelas , satu bentuk asas tingkah laku "seperti iterator" boleh dicapai melalui susunan yang lebih tinggi fungsi:

def loop(f, n):
    for i in xrange(n): f()

loop(lambda: <insert expression here>, 5)
Salin selepas log masuk

Dalam contoh ini, 'n' mewakili bilangan lelaran yang diingini, dan 'f' ialah fungsi yang melaksanakan tindakan yang dimaksudkan dalam setiap lelaran. Malangnya, pendekatan ini memperkenalkan kekacauan dan keterlaluan tambahan.

Ubah Underscore

Python menawarkan pembolehubah '_', yang berfungsi sebagai pemegang tempat untuk sebarang nilai yang terakhir ditemui . Walaupun ini mungkin menawarkan alternatif yang menarik, adalah penting untuk ambil perhatian bahawa '_' menganggap nilai ungkapan terakhir ditemui:

>>> 1+2
3
>>> _
3
Salin selepas log masuk

Oleh itu, penggunaannya dalam gelung for boleh membawa kepada hasil yang tidak dijangka dan jurubahasa yang berpotensi gangguan:

>>> for _ in xrange(10): pass
...
>>> _
9
>>> 1+2
3
>>> _
9
Salin selepas log masuk

Kesimpulan

Walaupun Python tidak menyokong gelung tanpa pembolehubah lelaran secara asli, pembolehubah garis bawah menawarkan penyelesaian terhad dengan kaveat yang berpotensi. Walau bagaimanapun, secara amnya disyorkan untuk menerima penggunaan pembolehubah lelaran sebagai bahagian penting bagi sintaks gelung.

Atas ialah kandungan terperinci Bolehkah Anda Menghapuskan Pembolehubah Iterator dalam Python Untuk Gelung?. 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