Penambahan Senarai Secara Elemen: Pendekatan Pythonic
Menambah dua senarai mengikut elemen boleh dilakukan dengan mudah dalam Python menggunakan beberapa terbina- dalam fungsi. Begini cara untuk mencapainya tanpa lelaran yang menyusahkan:
Menggunakan map() dengan operator.add:
from operator import add result = list(map(add, list1, list2))
Fungsi map() menggunakan fungsi tambah pada setiap elemen sepadan dalam senarai1 dan senarai2, mengembalikan senarai keputusan.
Sebagai alternatif, menggunakan zip() dengan pemahaman senarai:
result = [sum(x) for x in zip(list1, list2)]
Fungsi zip() menggandingkan elemen daripada list1 dan list2 ke dalam urutan tupel. Pemahaman senarai kemudian mengira jumlah setiap tuple, menghasilkan penambahan mengikut unsur.
Perbandingan Prestasi:
Untuk membandingkan kecekapan pendekatan ini, kami menjalankan pemasaan ujian pada senarai besar (100,000 elemen):
>>> from itertools import izip >>> list2 = [4, 5, 6] * 10 ** 5 >>> list1 = [1, 2, 3] * 10 ** 5 >>> %timeit from operator import add; map(add, list1, list2) 10 loops, best of 3: 44.6 ms per loop >>> %timeit from itertools import izip; [a + b for a, b in izip(list1, list2)] 10 loops, best of 3: 71 ms per loop >>> %timeit [a + b for a, b in zip(list1, list2)] 10 loops, best of 3: 112 ms per loop >>> %timeit from itertools import izip; [sum(x) for x in izip(list1, list2)] 1 loops, best of 3: 139 ms per loop >>> %timeit [sum(x) for x in zip(list1, list2)] 1 loops, best of 3: 177 ms per loop
Seperti yang ditunjukkan oleh keputusan ini, Pendekatan map() menggunakan operator.add ialah yang terpantas untuk senarai besar.
Atas ialah kandungan terperinci Apakah Cara Paling Cekap untuk Melaksanakan Penambahan Senarai Secara Elemen dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!