Rumah >pembangunan bahagian belakang >Tutorial Python >Apakah Cara Paling Cekap untuk Melaksanakan Penambahan Senarai Secara Elemen dalam Python?

Apakah Cara Paling Cekap untuk Melaksanakan Penambahan Senarai Secara Elemen dalam Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-26 16:00:12750semak imbas

What's the Most Efficient Way to Perform Element-Wise Addition of Lists in Python?

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!

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