Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengulang Melalui Pasangan Elemen Berturut-turut dalam Senarai Python?

Bagaimana untuk Mengulang Melalui Pasangan Elemen Berturut-turut dalam Senarai Python?

Susan Sarandon
Susan Sarandonasal
2024-11-08 06:23:02809semak imbas

How to Iterate Through Consecutive Pairs of Elements in a Python List?

Lelaran Elemen Senarai Berpasangan Menggunakan Peleter Python Terbina Dalam

Apabila bekerja dengan senarai dalam Python, mungkin perlu mengulang melalui pasangan elemen yang berturutan. Pendekatan tradisional melibatkan penggunaan gelung for untuk mengulangi indeks elemen, seperti yang ditunjukkan dalam contoh di bawah:

l = [1, 7, 3, 5]
for i in range(len(l) - 1):
    x = l[i]
    y = l[i + 1]
    # do something

Walaupun berkesan, pendekatan ini boleh membosankan apabila berurusan dengan senarai besar. Berikut ialah penyelesaian yang lebih ringkas menggunakan iterator terbina dalam Python:

Fungsi Zip

Fungsi zip membolehkan anda memasangkan elemen daripada dua atau lebih iterable. Untuk mengulangi pasangan elemen berturut-turut dalam senarai l, anda boleh memasangkannya dengan versi dialihkan sendiri menggunakan l[1:]:

for first, second in zip(l, l[1:]):
    # do something

Penyelesaian ini ringkas dan cekap, menjadikannya sesuai untuk mengendalikan pasangan senarai.

Modul itertools untuk Python 2

Dalam Python 2, menggunakan fungsi izip daripada modul itertools boleh menjadi lebih cekap memori untuk senarai besar. Tidak seperti zip, ia menjana pasangan dengan malas, mengelakkan penciptaan senarai perantaraan:

import itertools

for first, second in itertools.izip(l, l[1:]):
    # do something

Penyelesaian ini memastikan penggunaan memori yang cekap sambil menyediakan fungsi yang sama seperti fungsi zip dalam Python 3.

Atas ialah kandungan terperinci Bagaimana untuk Mengulang Melalui Pasangan Elemen 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