Hướng dẫn sum of multi-dimensional list python - tổng của python danh sách đa chiều

11

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Gần nhất là một cột tổng hợp này.

Vì vậy, tôi sẽ làm điều gì đó tương tự trong câu hỏi của tôi:

Nói rằng tôi là một danh sách Python 2D như dưới đây:

my_list =  [ [1,2,3,4],
             [2,4,5,6] ]

Tôi có thể nhận được tổng số hàng với sự hiểu biết danh sách:

row_totals = [ sum[x] for x in my_list ]

Trong một dòng, làm thế nào tôi có thể tổng hợp toàn bộ mảng 2D?

27

hỏi ngày 29 tháng 2 năm 2012 lúc 10:21Feb 29, 2012 at 10:21

Bạn có thể làm dễ dàng như

sum[map[sum, my_list]]

Hay cách khác

sum[sum[x] for x in my_list]]

Và gọi nó là một ngày, nếu bạn không mong đợi nhiều hơn 2 chiều. Lưu ý rằng giải pháp đầu tiên rất có thể không phải là giải pháp nhanh nhất [như trong thời gian thực hiện], do việc sử dụng

row_totals = [ sum[x] for x in my_list ]
2. Điểm chuẩn và so sánh khi cần thiết.

Cuối cùng, nếu bạn thấy mình sử dụng các mảng đa chiều, hãy xem xét sử dụng Numpy và các chức năng thân thiện với mảng vượt trội của nó. Đây là một đoạn trích ngắn cho vấn đề của bạn:

import numpy as np

my_list = np.array[[[1,2,3,4], [2,4,5,6]]]
np.sum[my_list]

Điều này sẽ hoạt động cho bất kỳ số lượng kích thước mà mảng của bạn có thể có.

Đã trả lời ngày 29 tháng 2 năm 2012 lúc 10:36Feb 29, 2012 at 10:36

MindCorrosiveMindCorrosivemindcorrosive

6961 Huy hiệu vàng7 Huy hiệu bạc13 Huy hiệu đồng1 gold badge7 silver badges13 bronze badges

5

Một giải pháp khác sử dụng

row_totals = [ sum[x] for x in my_list ]
3:

>>> from itertools import chain
>>> my_list = [ [1,2,3,4], [2,4,5,6] ]
>>> sum[chain[*my_list]]
27

Đã trả lời ngày 29 tháng 2 năm 2012 lúc 10:42Feb 29, 2012 at 10:42

Tim Pietzckertim PietzckerTim Pietzcker

Phù bằng vàng 319K5757 gold badges494 silver badges550 bronze badges

2

>>> sum [ [ sum[x] for x in [[1,2,3,4], [2,4,5,6]] ] ]
27

Đã trả lời ngày 29 tháng 2 năm 2012 lúc 10:32Feb 29, 2012 at 10:32

CapelliccapellicCapelliC

59K5 Huy hiệu vàng45 Huy hiệu bạc89 Huy hiệu đồng5 gold badges45 silver badges89 bronze badges

2

>>> from itertools import chain
>>> my_list = [[1,2,3,4], [2,4,5,6]]
>>> sum[chain.from_iterable[my_list]]
27

Đã trả lời ngày 29 tháng 2 năm 2012 lúc 12:22Feb 29, 2012 at 12:22

John La Rooyjohn La RooyJohn La Rooy

Phù bằng vàng 286K5151 gold badges359 silver badges500 bronze badges

Bạn có thể sử dụng tổng để thêm danh sách bên trong lại với nhau và sau đó tổng số danh sách làm phẳng kết quả:

>>> my_list = [ [1,2,3,4], [2,4,5,6] ]

>>> sum[my_list, []]
[1, 2, 3, 4, 2, 4, 5, 6]

>>> sum[sum[my_list, []]]
27

Đã trả lời ngày 26 tháng 12 năm 2015 lúc 2:43Dec 26, 2015 at 2:43

HenryhenryHenry

4576 Huy hiệu bạc16 Huy hiệu Đồng6 silver badges16 bronze badges

1

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    row_totals = [ sum[x] for x in my_list ]
    
    0

    Bàn luận

    Python3

    Đưa ra một ma trận 2 chiều, chúng ta cần tìm tổng của tất cả các yếu tố có trong ma trận? Ví dụ:

    Vấn đề này có thể được giải quyết dễ dàng bằng cách sử dụng hai vòng cho các vòng lặp bằng cách lặp toàn bộ ma trận nhưng chúng ta có thể giải quyết vấn đề này một cách nhanh chóng trong Python bằng hàm map []. & Nbsp;

    row_totals = [ sum[x] for x in my_list ]
    
    4
    row_totals = [ sum[x] for x in my_list ]
    
    5

    row_totals = [ sum[x] for x in my_list ]
    
    6
    row_totals = [ sum[x] for x in my_list ]
    
    7
    row_totals = [ sum[x] for x in my_list ]
    
    8
    row_totals = [ sum[x] for x in my_list ]
    
    9
    27
    
    0
    row_totals = [ sum[x] for x in my_list ]
    
    9
    row_totals = [ sum[x] for x in my_list ]
    
    8
    27
    
    3

    27
    
    4
    27
    
    5
    27
    
    6
    27
    
    6
    27
    
    8
    27
    
    9

    Các 
    The map[] function applies a given function to each item of an iterable[list, tuple etc.] and returns a list of the results. For example see given below example : 

    Python3

    row_totals = [ sum[x] for x in my_list ]
    
    6
    import numpy as np
    
    my_list = np.array[[[1,2,3,4], [2,4,5,6]]]
    np.sum[my_list]
    
    3
    row_totals = [ sum[x] for x in my_list ]
    
    9
    import numpy as np
    
    my_list = np.array[[[1,2,3,4], [2,4,5,6]]]
    np.sum[my_list]
    
    55____56

    Hàm map [] làm gì? & Nbsp; hàm map [] áp dụng một hàm đã cho cho từng mục của một mục tiêu [danh sách, tuple, v.v.] và trả về một danh sách các kết quả. Ví dụ, xem ví dụ được đưa ra dưới đây: & nbsp;

    row_totals = [ sum[x] for x in my_list ]
    
    4
    import numpy as np
    
    my_list = np.array[[[1,2,3,4], [2,4,5,6]]]
    np.sum[my_list]
    
    8

    row_totals = [ sum[x] for x in my_list ]
    
    6
    row_totals = [ sum[x] for x in my_list ]
    
    7
    >>> from itertools import chain
    >>> my_list = [ [1,2,3,4], [2,4,5,6] ]
    >>> sum[chain[*my_list]]
    27
    
    1
    >>> from itertools import chain
    >>> my_list = [ [1,2,3,4], [2,4,5,6] ]
    >>> sum[chain[*my_list]]
    27
    
    2
    >>> from itertools import chain
    >>> my_list = [ [1,2,3,4], [2,4,5,6] ]
    >>> sum[chain[*my_list]]
    27
    
    1

    >>> from itertools import chain
    >>> my_list = [ [1,2,3,4], [2,4,5,6] ]
    >>> sum[chain[*my_list]]
    27
    
    4
    27
    
    6
    >>> from itertools import chain
    >>> my_list = [ [1,2,3,4], [2,4,5,6] ]
    >>> sum[chain[*my_list]]
    27
    
    6
    sum[map[sum, my_list]]
    
    4
    sum[map[sum, my_list]]
    
    5
    sum[map[sum, my_list]]
    
    6
    sum[map[sum, my_list]]
    
    5
    sum[map[sum, my_list]]
    
    8
    sum[map[sum, my_list]]
    
    5
    sum[sum[x] for x in my_list]]
    
    0
    >>> sum [ [ sum[x] for x in [[1,2,3,4], [2,4,5,6]] ] ]
    27
    
    4

    >>> from itertools import chain
    >>> my_list = [[1,2,3,4], [2,4,5,6]]
    >>> sum[chain.from_iterable[my_list]]
    27
    
    1
    27
    
    6
    >>> from itertools import chain
    >>> my_list = [[1,2,3,4], [2,4,5,6]]
    >>> sum[chain.from_iterable[my_list]]
    27
    
    3
    >>> from itertools import chain
    >>> my_list = [[1,2,3,4], [2,4,5,6]]
    >>> sum[chain.from_iterable[my_list]]
    27
    
    0

    import numpy as np
    
    my_list = np.array[[[1,2,3,4], [2,4,5,6]]]
    np.sum[my_list]
    
    3
    >>> from itertools import chain
    >>> my_list = [[1,2,3,4], [2,4,5,6]]
    >>> sum[chain.from_iterable[my_list]]
    27
    
    6

    >>> sum [ [ sum[x] for x in [[1,2,3,4], [2,4,5,6]] ] ]
    27
    
    5
    27
    
    6
    27
    
    0
    >>> sum [ [ sum[x] for x in [[1,2,3,4], [2,4,5,6]] ] ]
    27
    
    8

    row_totals = [ sum[x] for x in my_list ]
    
    1

    import numpy as np
    
    my_list = np.array[[[1,2,3,4], [2,4,5,6]]]
    np.sum[my_list]
    
    3
    >>> from itertools import chain
    >>> my_list = [[1,2,3,4], [2,4,5,6]]
    >>> sum[chain.from_iterable[my_list]]
    27
    
    0Shashank Mishra [Gullu]. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to . See your article appearing on the GeeksforGeeks main page and help other Geeks.


    Làm thế nào để bạn thêm vào một danh sách đa chiều trong Python?

    Sử dụng cú pháp lập chỉ mục danh sách A_2D_List [x] để lấy danh sách lồng nhau tại Index X trong danh sách 2D.Danh sách cuộc gọi.Phụ lục [đối tượng] với danh sách lồng nhau này là danh sách và phần tử mong muốn là đối tượng để nối một phần tử vào danh sách lồng nhau.

    Làm thế nào để bạn tổng hợp tất cả các phần tử trong một mảng 2D?

    Tổng của từng phần tử của mảng 2D có thể được tính toán bằng cách đi qua ma trận và thêm các phần tử.traversing through the matrix and adding up the elements.

    Làm thế nào để bạn tổng hợp một cột trong danh sách Python 2D?

    SUM [ARR, trục, DTYPE, OUT] Trả về tổng các phần tử mảng trên trục được chỉ định.Để tính tổng của tất cả các cột, đối số trục phải là 0 trong hàm sum []. returns the sum of array elements over the specified axis. To compute the sum of all columns the axis argument should be 0 in sum[] function.

    Danh sách Python có thể là đa chiều không?

    Khoa học dữ liệu thực tế sử dụng danh sách Python là một cấu trúc dữ liệu được sử dụng rất rộng rãi trong Python.Chúng chứa một danh sách các yếu tố được phân tách bằng dấu phẩy.Nhưng đôi khi danh sách cũng có thể chứa các danh sách trong đó.Chúng được gọi là danh sách lồng nhau hoặc danh sách đa chiều.sometimes lists can also contain lists within them. These are called nested lists or multidimensional lists.

    Bài Viết Liên Quan

    Chủ Đề