Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Mảng tiền tố trong Python dùng accumulate function


Cho một mảng, ta phải tạo mảng tiền tố dùng hàm itertools.accumulate(iterable[, func]). Các hàm module này xây dựng và trả về iterator. Chúng chỉ nên được truy cập bởi hàm hoặc vòng lặp cắt ngắn luồng. Tạo iterator trả về tổng tích lũy. Phần tử có thể là bất kỳ kiểu cộng được bao gồm Decimal hoặc Fraction. Nếu hàm tùy chọn được cung cấp, nó phải là hàm hai tham số và sẽ dùng thay vì phép cộng.

Ví dụ

Input: Data = [1, 0, 2, 3, 5]
>>> list(accumulate(data)) # running summation
Output: [1, 1, 3, 6, 11]

Thuật toán

Bước 1: Tạo list.
Bước 2: Dùng list(accumulate()) hàm, nó trả về running total.
Bước 3: Hiển thị tổng.

Ví dụ mã

# Chương trình Python in mảng tiền tố dùng accumulate
from itertools import accumulate

def summation(A):
    print("The List after Summation ::>", list(accumulate(A)))

# Driver program
if __name__ == "__main__":
    A = list()
    n = int(input("Enter the size of the First List ::"))
    print("Enter the Element of First List ::")
    for i in range(int(n)):
        k = int(input(""))
        A.append(k)
    summation(A)

Kết quả

Enter the size of the First List ::5
Enter the Element of First List ::
1
2
3
4
5
The List after Summation ::> [1, 3, 6, 10, 15]