Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah anda boleh mencapai lelaran berterusan melalui senarai dalam Python, dengan berkesan mencipta gelung bulat?

Bagaimanakah anda boleh mencapai lelaran berterusan melalui senarai dalam Python, dengan berkesan mencipta gelung bulat?

Linda Hamilton
Linda Hamiltonasal
2024-10-27 04:37:03874semak imbas

How can you achieve continuous iteration through a list in Python, effectively creating a circular loop?

Lelaran Secara Pekeliling melalui Senarai dalam Python

Apabila mengulang senarai, mungkin perlu untuk menggelung secara berterusan daripada item yang terakhir dilawati. Ini amat berguna dalam senario seperti kumpulan sambungan, di mana iterator menyemak sambungan dan kitaran yang tersedia sehingga satu ditemui.

Dalam Python, fungsi itertools.cycle menyediakan pendekatan yang mudah untuk mencipta iterator bulat. Ia memerlukan senarai sebagai hujah dan mengembalikan iterator yang berulang tanpa henti ke atas senarai, mengulangi dirinya sendiri dari awal sebaik sahaja penghujungnya dicapai.

Untuk menggunakan itertools.cycle, anda boleh dengan mudah balut senarai yang ingin anda ulangi dengan fungsi kitaran:

from itertools import cycle

lst = ['a', 'b', 'c']

pool = cycle(lst)

Setelah peulang dibuat, anda boleh mula mengulanginya:

for item in pool:
    print(item)

Ini akan mencetak item dalam senarai berulang kali, selamanya.

Jika anda perlu memajukan iterator secara manual dan menarik nilai satu demi satu, anda boleh menggunakan fungsi next(pool):

next(pool)
'a'
next(pool)
'b'

Ini amat berguna dalam senario di mana anda perlu menyemak ketersediaan sambungan sebelum mengembalikannya.

Atas ialah kandungan terperinci Bagaimanakah anda boleh mencapai lelaran berterusan melalui senarai dalam Python, dengan berkesan mencipta gelung bulat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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