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
Lepaskan: 2024-11-26 16:00:12
asal
731 orang telah melayarinya

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))
Salin selepas log masuk

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)]
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan