Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengira Jumlah Terkumpul Senarai dengan Cekap dalam Python?

Bagaimanakah Saya Boleh Mengira Jumlah Terkumpul Senarai dengan Cekap dalam Python?

Patricia Arquette
Patricia Arquetteasal
2024-12-09 15:56:16202semak imbas

How Can I Efficiently Calculate the Cumulative Sum of a List in Python?

Jumlah Terkumpul 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!

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