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

Susan Sarandon
Lepaskan: 2024-11-08 06:23:02
asal
808 orang telah melayarinya

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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!

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