질문:
다음과 같이 목록에 있는 숫자의 누적 합계를 어떻게 찾을 수 있나요? [4, 4 6, 4 6 12]?
소개:
누적 합계를 계산하려면 누적 합계에 다음 요소를 반복적으로 추가해야 합니다. 이는 간단한 루프로 달성할 수 있지만 NumPy 또는 사용자 정의 Python 생성기를 사용하는 더 효율적인 접근 방식이 있습니다.
NumPy 메서드:
NumPy의 cumsum 함수는 효율적인 솔루션을 제공합니다. :
import numpy as np time_interval = [4, 6, 12] np.cumsum(time_interval) # Output: [4, 10, 22]
이 접근 방식은 고도로 최적화되어 있으며 대규모 수치 연산에 권장됩니다.
Python 생성기:
순수 Python에서 간결하고 메모리 효율적인 솔루션을 얻으려면 생성기 사용을 고려하세요.
def accumu(iterable): yield next(iterable) for item in iterable: yield item + sum(accumu(iterable))
이것을 사용하세요 생성기:
list(accumu(time_interval)) # Output: [4, 10, 22]
이 생성기는 요소를 느리게 축적하므로 다음에 적합합니다. 대규모 시퀀스를 반복하거나 메모리가 문제인 경우.
위 내용은 Python에서 목록의 누적 합계를 효율적으로 계산하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!