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
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 ]
0Bà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 ]
5row_totals = [ sum[x] for x in my_list ]
6row_totals = [ sum[x] for x in my_list ]
7 row_totals = [ sum[x] for x in my_list ]
8row_totals = [ sum[x] for x in my_list ]
927
0row_totals = [ sum[x] for x in my_list ]
9row_totals = [ sum[x] for x in my_list ]
827
327
4 27
527
627
6 27
827
9Cá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 ]
6import 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 ]
9import numpy as np
my_list = np.array[[[1,2,3,4], [2,4,5,6]]]
np.sum[my_list]
55____56Hà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]
8row_totals = [ sum[x] for x in my_list ]
6row_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
427
6 >>> from itertools import chain
>>> my_list = [ [1,2,3,4], [2,4,5,6] ]
>>> sum[chain[*my_list]]
27
6sum[map[sum, my_list]]
4sum[map[sum, my_list]]
5sum[map[sum, my_list]]
6sum[map[sum, my_list]]
5sum[map[sum, my_list]]
8sum[map[sum, my_list]]
5sum[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
127
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
0import 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
5>>> sum [ [ sum[x] for x in [[1,2,3,4], [2,4,5,6]] ] ]
27
6 27
027
8>>> sum [ [ sum[x] for x in [[1,2,3,4], [2,4,5,6]] ] ]
27
row_totals = [ sum[x] for x in my_list ]
1import 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.