Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengulang Melalui Senarai dalam Pasangan atau Kumpulan Unsur?

Bagaimanakah Saya Boleh Mengulang Melalui Senarai dalam Pasangan atau Kumpulan Unsur?

Linda Hamilton
Linda Hamiltonasal
2024-12-17 08:44:25749semak imbas

How Can I Iterate Through a List in Pairs or Groups of Elements?

Gelung melalui Setiap Dua Elemen dalam Senarai

Lelaran pada setiap dua elemen bersebelahan dalam senarai boleh dicapai dengan bantuan fungsi khusus atau teknik. Begini cara anda boleh menyelesaikan tugasan ini:

  1. Menggunakan pairwise() atau grouped() Fungsi:
    Kaedah ini menggunakan fungsi yang menyediakan lelaran berpasangan atau berkumpulan atas senarai.

    • berpasangan(): Menghasilkan pasangan elemen, iaitu, (s0, s1), (s2, s3), ....
    • grouped(): Memanjangkan konsep kepada kumpulan yang lebih besar, membolehkan anda mendapatkan semula n elemen pada satu masa, cth., (s0, s1, s2, ... sn-1).
  2. Pelaksanaan dan Penggunaan:

    • Tentukan fungsi berpasangan() atau berkumpulan().
    • Lelaran ke atas senarai menggunakan fungsi yang ditentukan.
    • Lakukan operasi yang diingini pada pasangan atau kumpulan unsur yang diambil.

Untuk contoh, untuk mengulangi pasangan elemen dalam senarai dan mencetak jumlahnya:

from typing import Iterable, Tuple, TypeVar

T = TypeVar("T")

def pairwise(iterable: Iterable[T]) -> Iterable[Tuple[T, T]]:
    """s -> (s0, s1), (s2, s3), ..."""
    a = iter(iterable)
    return zip(a, a)

l = [1, 2, 3, 4, 5, 6]

for x, y in pairwise(l):
    print(f"{x} + {y} = {x + y}")

Pendekatan ini menyediakan lelaran yang cekap dan mengelakkan pertindihan senarai yang tidak perlu.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengulang Melalui Senarai dalam Pasangan atau Kumpulan Unsur?. 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