Tổng của danh sách lồng nhau python

Khi cần tìm tổng của danh sách tổ bằng kỹ thuật đệ quy, phương thức do người dùng xác định được sử dụng, lấy danh sách làm tham số

Đệ quy tính toán đầu ra của các bit nhỏ của vấn đề lớn hơn và kết hợp các bit này để đưa ra giải pháp cho vấn đề lớn hơn

Một danh sách có thể được sử dụng để lưu trữ các giá trị không đồng nhất [i. e của bất kỳ loại dữ liệu nào như số nguyên, dấu phẩy động, chuỗi, v.v.]

Vấn đề. Cho một danh sách gồm các danh sách biểu diễn một ma trận dữ liệu có n hàng và m cột. Làm thế nào để tính tổng các hàng của ma trận này?

Hãy đảm bảo rằng bạn đang ở trên cùng một trang. Đây là một biểu diễn đồ họa của danh sách các danh sách và những gì bạn muốn đạt được

Thí dụ. Cho đoạn mã sau

# Your list of lists
data = [[1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]]


# .. Algorithm here ...

print[res]
# OUTPUT: [6, 15, 24]

Tiểu sử. Để tìm hiểu thêm về danh sách các danh sách, hãy xem bài viết tham khảo của chúng tôi trên blog Finxter

Tiếp theo, bạn sẽ học ba phương pháp khác nhau để tính tổng trên các hàng. Hãy xem tổng quan nhanh về cả ba phương pháp — nhấp vào “Chạy” để thực thi mã và xem điều gì sẽ xảy ra

Phương pháp 1. Tính tổng bằng Python [Không có thư viện]

Một lớp lót đơn giản với khả năng hiểu danh sách thực hiện công việc trong Python

data = [[1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]]

# Method 1: Pure Python
res = [sum[x] for x in data]
print[res]
# [6, 15, 24]

Bạn có thích Python one-liners? . Nhấp để xem sách trong tab mới

Bạn có thể hình dung việc thực thi mã và các đối tượng bộ nhớ của mã này trong công cụ sau [chỉ cần nhấp vào “Tiếp theo” để xem cách một bước của mã mở ra]

Phương pháp 2. Tổng với Thư viện NumPy

Bạn tạo một mảng NumPy từ dữ liệu và chuyển nó tới np. hàm tổng []

data = [[1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]]

# Method 2: NumPy
import numpy as np
a = np.array[data]
res = np.sum[a, axis=1]
print[res]
# [ 6 15 24]

Đối số axis của hàm tổng xác định dọc theo trục mà bạn muốn tính giá trị tổng. Nếu bạn muốn tính tổng theo cột, hãy sử dụng axis=0. Nếu bạn muốn tính tổng theo hàng, hãy sử dụng axis=1. Nếu bạn muốn tính tổng tất cả các giá trị, hãy bỏ qua đối số này

Phương pháp 3. Tổng [] + Bản đồ []

Chỉ để cho bạn thấy một giải pháp thay thế khác, đây là một giải pháp sử dụng hàm map[]

data = [[1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]]

# Method 3: Map[]
res = map[sum, data]
print[list[res]]
# [6, 15, 24]

Hàm map[function, iterable] áp dụng

data = [[1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]]

# Method 1: Pure Python
res = [sum[x] for x in data]
print[res]
# [6, 15, 24]
0 cho từng phần tử trong
data = [[1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]]

# Method 1: Pure Python
res = [sum[x] for x in data]
print[res]
# [6, 15, 24]
0. Thay vào đó, bạn cũng có thể sử dụng khả năng hiểu danh sách như trong phương pháp 1 trong hướng dẫn này. Trên thực tế, Guido van Rossum, người tạo ra Python và nhà độc tài nhân từ suốt đời [BDFL] của Python, thích hiểu danh sách hơn hàm map[]

Những bài viết liên quan

  • Làm cách nào để tính trung bình trên một danh sách các danh sách trong Python?
  • Làm cách nào để tính tổng tất cả các cột của danh sách danh sách trong Python?

Đi đâu từ đây?

Đủ lý thuyết. Hãy thực hành một số

Các lập trình viên được trả sáu con số trở lên vì họ có thể giải quyết vấn đề hiệu quả hơn bằng cách sử dụng trí thông minh máy móc và tự động hóa

Để trở nên thành công hơn trong việc viết mã, hãy giải quyết nhiều vấn đề thực tế hơn cho người thực. Đó là cách bạn trau dồi những kỹ năng bạn thực sự cần trong thực tế. Rốt cuộc, việc sử dụng lý thuyết học tập mà không ai cần là gì?

Bạn xây dựng các kỹ năng mã hóa có giá trị cao bằng cách làm việc trên các dự án mã hóa thực tế

Bạn có muốn ngừng học với các dự án đồ chơi và tập trung vào các dự án mã thực tế giúp bạn kiếm tiền và giải quyết các vấn đề thực sự cho mọi người không?

🚀 Nếu câu trả lời của bạn là CÓ. , cân nhắc trở thành nhà phát triển Python tự do. Đó là cách tốt nhất để tiếp cận nhiệm vụ cải thiện kỹ năng Python của bạn—ngay cả khi bạn là người mới hoàn toàn

Nếu bạn chỉ muốn tìm hiểu về cơ hội làm việc tự do, vui lòng xem hội thảo trên web miễn phí của tôi “Cách xây dựng kỹ năng Python có thu nhập cao của bạn” và tìm hiểu cách tôi phát triển công việc viết mã của mình trực tuyến cũng như cách bạn có thể làm được—từ sự thoải mái của bạn

Tham gia hội thảo trên web miễn phí ngay bây giờ

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

sum[] sum[] trong Python là gì?

Hàm Python sum[] . returns a number, the sum of all items in an iterable.

Khi nào tôi có thể sử dụng sum[] trong Python?

Sử dụng hàm sum[] của Python để cộng một số giá trị số một cách hiệu quả. Nối các danh sách và bộ dữ liệu với sum[]

Chủ Đề