Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengulangi Pasangan Item Berturut-turut dalam Senarai Python?

Bagaimana untuk Mengulangi Pasangan Item Berturut-turut dalam Senarai Python?

DDD
DDDasal
2024-11-07 20:55:03921semak imbas

How to Iterate Over Consecutive Pairs of Items in a Python List?

Iterators untuk Pasangan Item Senarai Berturut-turut

Memandangkan senarai elemen, anda mungkin perlu mengulangi pasangan item berturut-turut dalam senarai. Walaupun ada kemungkinan untuk menggunakan gelung for untuk lelaran melalui senarai satu elemen pada satu masa dan mendapatkan semula item berturut-turut secara manual, terdapat cara yang lebih padat dan cekap untuk mencapainya menggunakan iterator Python.

Fungsi zip()

Fungsi zip() Python ialah lelaran terbina dalam yang membenarkan penciptaan tupel daripada elemen sepadan berbilang iterable. Dalam kes ini, kita boleh menggunakan zip() untuk mencipta tuple item senarai berturut-turut. Contohnya:

l = [1, 7, 3, 5]

for first, second in zip(l, l[1:]):
    print(first, second)

Kod ini akan mengeluarkan:

1 7
7 3
3 5

Fungsi zip() mengambil dua argumen: yang pertama ialah senarai asal dan yang kedua ialah senarai dengan elemen pertama dialih keluar (dicapai menggunakan l[1:]). Ia kemudiannya menggabungkan elemen yang sepadan menjadi tupel, mencipta iterator ke atas tupel ini.

Menggunakan itertools.izip()

Untuk pengguna Python 2, modul itertools menyediakan alternatif fungsi yang dipanggil izip(). Fungsi ini serupa dengan zip(), tetapi ia mengembalikan objek izip yang boleh dinilai dengan malas dan tidak memerlukan penciptaan senarai baharu dalam ingatan. Walau bagaimanapun, adalah disyorkan untuk menggunakan zip() dalam Python 3 kerana ia lebih cekap dan lebih mudah digunakan.

Atas ialah kandungan terperinci Bagaimana untuk Mengulangi Pasangan Item Berturut-turut dalam Senarai Python?. 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