Làm cách nào để thêm tất cả các giá trị của một cột trong một mảng python? Lý tưởng nhất là tôi muốn làm điều này mà không cần nhập bất kỳ thư viện bổ sung nào.
input_val = [[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5]]
output_val = [3, 6, 9, 12, 15]
Tôi biết tôi điều này có thể được thực hiện trong một vòng lặp cho vòng lặp, tự hỏi liệu có một cách nào tốt hơn [như một danh sách hiểu]?
Stephen Rauch ♦♦
46.1K31 Huy hiệu vàng107 Huy hiệu bạc127 Huy hiệu đồng31 gold badges107 silver badges127 bronze badges
Hỏi ngày 17 tháng 4 năm 2017 lúc 21:04Apr 17, 2017 at 21:04
0
[sum[x] for x in zip[*input_val]]
9 và input_val = [[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5]]
print[[sum[x] for x in zip[*input_val]]]
0 có thể hoàn thành điều đó:Code:
[sum[x] for x in zip[*input_val]]
[sum[x] for x in zip[*input_val]]
9 lấy nội dung của danh sách đầu vào và chuyển chúng sao cho mỗi phần tử của danh sách chứa được sản xuất cùng một lúc. Điều này cho phép input_val = [[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5]]
print[[sum[x] for x in zip[*input_val]]]
0 thấy các phần tử đầu tiên của mỗi danh sách chứa, sau đó lần lặp tiếp theo sẽ có phần tử thứ hai của mỗi danh sách, v.v.Mã kiểm tra:
input_val = [[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5]]
print[[sum[x] for x in zip[*input_val]]]
Results:
[3, 6, 9, 12, 15]
Đã trả lời ngày 17 tháng 4 năm 2017 lúc 21:08Apr 17, 2017 at 21:08
Stephen Rauch ♦ Stephen Rauch♦Stephen Rauch
46.1K31 Huy hiệu vàng107 Huy hiệu bạc127 Huy hiệu đồng31 gold badges107 silver badges127 bronze badges
0
Hỏi ngày 17 tháng 4 năm 2017 lúc 21:04
np.sum[input_val,axis=0]
[sum[x] for x in zip[*input_val]]
9 và input_val = [[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5]]
print[[sum[x] for x in zip[*input_val]]]
0 có thể hoàn thành điều đó:Apr 17, 2017 at 21:09
[sum[x] for x in zip[*input_val]]
9 lấy nội dung của danh sách đầu vào và chuyển chúng sao cho mỗi phần tử của danh sách chứa được sản xuất cùng một lúc. Điều này cho phép input_val = [[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5]]
print[[sum[x] for x in zip[*input_val]]]
0 thấy các phần tử đầu tiên của mỗi danh sách chứa, sau đó lần lặp tiếp theo sẽ có phần tử thứ hai của mỗi danh sách, v.v.JavNoorMã kiểm tra:2 silver badges11 bronze badges
2
Đã trả lời ngày 17 tháng 4 năm 2017 lúc 21:08
# In Python 3.x
>>> list[map[sum, zip[*input_val]]]
[3, 6, 9, 12, 15]
# explicitly type-cast it to list as map returns generator expression
# In Python 2.x, explicit type-casting to list is not needed as `map` returns list
>>> map[sum, zip[*input_val]]
[3, 6, 9, 12, 15]
Stephen Rauch ♦ Stephen RauchApr 17, 2017 at 21:10
Trong trường hợp bạn quyết định sử dụng bất kỳ thư viện nào, hãy dễ dàng làm điều này:Moinuddin Quadri
Đã trả lời ngày 17 tháng 4 năm 2017 lúc 21:0912 gold badges94 silver badges121 bronze badges
Javnoorjavnoor
input_val = [[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5]]
output_val = [sum[[i[b] for i in input_val]] for b in range[len[input_val[0]]]]
print output_val
4022 Huy hiệu bạc11 Huy hiệu đồngApr 17, 2017 at 21:12
Ajax1234Ajax1234Ajax1234
Bạn cũng có thể sử dụng
0 với input_val = [[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5]]
print[[sum[x] for x in zip[*input_val]]]
9 trong hàm [sum[x] for x in zip[*input_val]]
5:7 gold badges58 silver badges101 bronze badgesinput_val = [[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5]]
print[[sum[x] for x in zip[*input_val]]]
Đã trả lời ngày 17 tháng 4 năm 2017 lúc 21:10
import numpy as np
Moinuddin Quadrimoinuddin Quadri
arr = np.array[[[1, 2, 3, 4, 5],[1, 2, 3, 4, 5],[1, 2, 3, 4, 5]]]
45.1K12 Huy hiệu vàng94 Huy hiệu bạc121 Huy hiệu đồng
arr.sum[axis = 0]
Thử cái này:Aug 1, 2020 at 22:15
Đã trả lời ngày 17 tháng 4 năm 2017 lúc 21:12Zhannie
67.8K7 Huy hiệu vàng58 Huy hiệu bạc101 Huy hiệu đồng1 silver badge5 bronze badges
Vui lòng xây dựng mảng của bạn bằng thư viện Numpy:
[sum[i] for i in zip[*input_val]]
[sum[x] for x in zip[*input_val]]
9 và input_val = [[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5]]
print[[sum[x] for x in zip[*input_val]]]
0 có thể hoàn thành điều đó:Apr 17, 2017 at 21:09
[sum[x] for x in zip[*input_val]]
9 lấy nội dung của danh sách đầu vào và chuyển chúng sao cho mỗi phần tử của danh sách chứa được sản xuất cùng một lúc. Điều này cho phép input_val = [[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5]]
print[[sum[x] for x in zip[*input_val]]]
0 thấy các phần tử đầu tiên của mỗi danh sách chứa, sau đó lần lặp tiếp theo sẽ có phần tử thứ hai của mỗi danh sách, v.v.AlexMã kiểm tra:12 silver badges26 bronze badges
Đã trả lời ngày 17 tháng 4 năm 2017 lúc 21:08
[sum[x] for x in zip[*input_val]]
0Stephen Rauch ♦ Stephen RauchApr 17, 2017 at 21:11
Trong trường hợp bạn quyết định sử dụng bất kỳ thư viện nào, hãy dễ dàng làm điều này:Pedro Lobito
Đã trả lời ngày 17 tháng 4 năm 2017 lúc 21:0930 gold badges239 silver badges259 bronze badges
Javnoorjavnoor
[sum[x] for x in zip[*input_val]]
14022 Huy hiệu bạc11 Huy hiệu đồngApr 17, 2017 at 21:14
Bạn cũng có thể sử dụng
input_val = [[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5]]
print[[sum[x] for x in zip[*input_val]]]
0 với [sum[x] for x in zip[*input_val]]
9 trong hàm input_val = [[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5]]
print[[sum[x] for x in zip[*input_val]]]
5:Asav PatelĐã trả lời ngày 17 tháng 4 năm 2017 lúc 21:101 gold badge7 silver badges24 bronze badges
Moinuddin Quadrimoinuddin Quadri
45.1K12 Huy hiệu vàng94 Huy hiệu bạc121 Huy hiệu đồngStephen Rauch ♦ Stephen RauchApr 17, 2017 at 21:10
Trong trường hợp bạn quyết định sử dụng bất kỳ thư viện nào, hãy dễ dàng làm điều này:Prune
Đã trả lời ngày 17 tháng 4 năm 2017 lúc 21:0914 gold badges57 silver badges78 bronze badges
Javnoorjavnoor
[sum[x] for x in zip[*input_val]]
3
4022 Huy hiệu bạc11 Huy hiệu đồng
Bạn cũng có thể sử dụng
0 với input_val = [[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5]]
print[[sum[x] for x in zip[*input_val]]]
9 trong hàm [sum[x] for x in zip[*input_val]]
5:9 gold badges61 silver badges87 bronze badgesinput_val = [[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5]]
print[[sum[x] for x in zip[*input_val]]]
Stephen Rauch ♦ Stephen RauchApr 17, 2017 at 21:11
Trong trường hợp bạn quyết định sử dụng bất kỳ thư viện nào, hãy dễ dàng làm điều này:LLL
Đã trả lời ngày 17 tháng 4 năm 2017 lúc 21:092 gold badges24 silver badges40 bronze badges
Javnoorjavnoor
4022 Huy hiệu bạc11 Huy hiệu đồng
[sum[x] for x in zip[*input_val]]
4Bạn cũng có thể sử dụng
0 với input_val = [[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5]]
print[[sum[x] for x in zip[*input_val]]]
9 trong hàm [sum[x] for x in zip[*input_val]]
5:input_val = [[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5]]
print[[sum[x] for x in zip[*input_val]]]
[sum[x] for x in zip[*input_val]]
5Đã trả lời ngày 17 tháng 4 năm 2017 lúc 21:10
[sum[x] for x in zip[*input_val]]
6Moinuddin Quadrimoinuddin QuadriNov 22, 2018 at 7:30
[sum[x] for x in zip[*input_val]]
745.1K12 Huy hiệu vàng94 Huy hiệu bạc121 Huy hiệu đồng
Stephen Rauch ♦♦
46.1K31 Huy hiệu vàng107 Huy hiệu bạc127 Huy hiệu đồng31 gold badges107 silver badges127 bronze badges
Thử cái này:Jan 28, 2018 at 1:26
1
Đã trả lời ngày 17 tháng 4 năm 2017 lúc 21:12
[sum[x] for x in zip[*input_val]]
867.8K7 Huy hiệu vàng58 Huy hiệu bạc101 Huy hiệu đồngJun 21 at 7:40