Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengira Jumlah Terkumpul Senarai dengan Cekap dalam Python?
Soalan:
Bagaimanakah kita boleh mencari jumlah kumulatif nombor dalam senarai, seperti [4, 4 6, 4 6 12]?
Pengenalan:
Mengira jumlah kumulatif melibatkan penambahan berulang kali elemen seterusnya kepada jumlah berjalan. Walaupun ini boleh dicapai dengan gelung yang mudah, terdapat pendekatan yang lebih cekap menggunakan NumPy atau penjana Python tersuai.
Kaedah NumPy:
Fungsi cumsum NumPy menyediakan penyelesaian yang cekap :
import numpy as np time_interval = [4, 6, 12] np.cumsum(time_interval) # Output: [4, 10, 22]
Pendekatan ini sangat dioptimumkan dan disyorkan untuk operasi berangka pada besar tatasusunan.
Penjana Python:
Untuk penyelesaian ringkas dan cekap ingatan dalam Python tulen, pertimbangkan untuk menggunakan penjana:
def accumu(iterable): yield next(iterable) for item in iterable: yield item + sum(accumu(iterable))
Menggunakan ini penjana:
list(accumu(time_interval)) # Output: [4, 10, 22]
Penjana ini dengan malas mengumpul elemen, menjadikannya sesuai untuk lelaran lebih besar urutan atau apabila ingatan menjadi kebimbangan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Jumlah Terkumpul Senarai dengan Cekap dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!