Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengulang Lebih Pasangan (atau Kumpulan) Elemen dalam Senarai Python?
Lelaran pada Pasangan Elemen dalam Senarai
Apabila mengulang senarai, kita sering menghadapi situasi di mana kita memerlukan akses kepada dua elemen di suatu masa. Untuk menangani perkara ini, kami boleh menggunakan konsep lelaran berpasangan.
Fungsi zip() terbina dalam Python boleh membantu kami dalam hal ini. Kaedah berpasangan() atau berkumpulan() menggunakan lelaran dan menghasilkan urutan dua elemen berturut-turut. Begini cara kita boleh melaksanakannya:
def pairwise(iterable): "s -> (s0, s1), (s2, s3), (s4, s5), ..." a = iter(iterable) return zip(a, a)
Menggunakan fungsi ini, mari kita pertimbangkan senarai [1, 2, 3, 4, 5, 6]. Untuk menunjukkan lelaran berpasangan:
for x, y in pairwise(l): print("%d + %d = %d" % (x, y, x + y))
Ini akan menghasilkan output berikut:
1 + 2 = 3 3 + 4 = 7 5 + 6 = 11
Sebagai alternatif, fungsi grouped() membolehkan kami mengulangi n elemen pada satu masa. Berikut ialah perlaksanaan:
def grouped(iterable, n=2): "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)
Sebagai contoh, dengan n ditetapkan kepada 3, kita boleh mengulang tiga elemen pada satu masa:
for x, y, z in grouped(l, 3): print("%d + %d + %d = %d" % (x, y, z, x + y + z))
Pendekatan ini cekap kerana ia berulang sepanjang senaraikan sekali sahaja dan menghapuskan keperluan untuk senarai perantaraan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengulang Lebih Pasangan (atau Kumpulan) Elemen dalam Senarai Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!