Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Mengulang Melalui Pasangan Bersebelahan dalam Senarai Python?

Bagaimanakah Saya Boleh Mengulang Melalui Pasangan Bersebelahan dalam Senarai Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-21 04:28:10809semak imbas

How Can I Iterate Through Adjacent Pairs in a Python List?

Lelaran Melalui Pasangan Bersebelahan dalam Senarai Python

Banyak masalah pengaturcaraan boleh diselesaikan dengan mengulangi pasangan item bersebelahan dalam urutan. Sebagai contoh, anda mungkin perlu membandingkan elemen berturut-turut, menjumlahkannya atau melakukan beberapa operasi lain pada nilai jiran.

Pertimbangkan senarai nombor berikut:

a = [5, 7, 11, 4, 5]

Anda ingin mengulang atas senarai ini dengan cara yang membolehkan anda mengakses elemen berturut-turut sebagai pasangan. Python tidak menyediakan cara terbina dalam untuk melakukan ini, tetapi ia boleh dicapai menggunakan fungsi zip:

for previous, current in zip(a, a[1:]):
    print(previous, current)

Fungsi zip mengambil beberapa iterable (seperti senarai atau tupel) dan mengembalikan yang baharu iterable yang mengandungi tuple elemen yang sepadan daripada setiap input iterable. Dalam kes ini, kami mengezip senarai asal a dengan salinannya sendiri bermula dari elemen kedua (a[1:]). Ini memberi kita pasangan elemen berturut-turut daripada senarai asal.

Keluaran kod di atas ialah:

5 7
7 11
11 4
4 5

Perhatikan bahawa teknik ini berfungsi walaupun senarai kosong atau hanya mempunyai satu unsur. Dalam kes sedemikian, zip akan mengembalikan lelaran kosong dan kod di dalam gelung for tidak akan dilaksanakan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengulang Melalui Pasangan Bersebelahan 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