Lelaran Pada Setiap Dua Elemen dalam Senarai
Dalam Python, lelaran pada senarai selalunya melibatkan penggunaan gelung for atau pemahaman senarai. Walau bagaimanapun, apabila anda perlu mengakses setiap dua elemen bersama-sama, kaedah standard mungkin tidak mencukupi.
Untuk mengulangi setiap pasangan elemen dalam senarai, anda boleh menggunakan pairwise() pelaksanaan:
def pairwise(iterable): "s -> (s0, s1), (s2, s3), (s4, s5), ..." 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}")
Fungsi ini berulang melalui senarai dua kali, menggandingkan setiap elemen dengan yang seterusnya. Ia menghasilkan output yang serupa dengan ini:
1 + 2 = 3 3 + 4 = 7 5 + 6 = 11
Untuk penyelesaian yang lebih umum, pertimbangkan fungsi grouped(), yang membolehkan anda mengulangi kumpulan n elemen:
def grouped(iterable, n): "s -> (s0,s1,s2,...sn-1), (sn,sn+1,sn+2,...s2n-1), (s2n,s2n+1,s2n+2,...s3n-1), ..." return zip(*[iter(iterable)] * n) for x, y in grouped(l, 2): print(f"{x} + {y} = {x + y}")
Fungsi ini mengambil senarai dan saiz kumpulan sebagai argumen dan mengembalikan lelaran yang menghasilkan kumpulan elemen. Contohnya, memanggil berkumpulan([1, 2, 3, 4, 5, 6], 3) akan menghasilkan:
(1, 2, 3) (4, 5, 6)
Dalam Python 2, anda boleh menggunakan izip bukannya zip untuk keserasian tujuan.
Kaedah ini menyediakan cara yang cekap dan fleksibel untuk mengulang elemen dalam senarai, membolehkan anda memprosesnya secara berpasangan atau kumpulan mengikut keperluan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Berulang Lebih Pasangan atau Kumpulan Elemen dalam Senarai Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!