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 ♦♦
45,9K31 Huy hiệu vàng106 Huy hiệu bạc126 Huy hiệu Đồng31 gold badges106 silver badges126 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ẽ nhận đượ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
45,9K31 Huy hiệu vàng106 Huy hiệu bạc126 Huy hiệu Đồng31 gold badges106 silver badges126 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ẽ nhận được phần tử thứ hai của mỗi danh sách, v.v.JavNoorMã kiểm tra:1 silver badge11 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 badges93 silver badges119 bronze badges
Javnoorjavnoor
[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ẽ nhận đượ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
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
Stephen Rauch ♦ Stephen RauchApr 17, 2017 at 21:12
Ajax1234Ajax1234Ajax1234
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:7 gold badges58 silver badges100 bronze badges
Đã trả lời ngày 17 tháng 4 năm 2017 lúc 21:09
map[sum, [x for x in zip[*input_val]]]
JavnoorjavnoorApr 17, 2017 at 21:14
3921 Huy hiệu bạc11 Huy hiệu đồngAsav Patel
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:1 gold badge7 silver badges24 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
Moinuddin Quadrimoinuddin Quadri44.9K12 Huy hiệu vàng93 Huy hiệu bạc119 Huy hiệu đồng
arr = np.array[[[1, 2, 3, 4, 5],[1, 2, 3, 4, 5],[1, 2, 3, 4, 5]]]
Điều này sẽ hoạt động:
[sum[x] for x in zip[*input_val]]
0AlexalexAug 1, 2020 at 22:15
1.31212 Huy hiệu bạc26 Huy hiệu đồngZhannie
Thử cái này:1 silver badge5 bronze badges
Đã trả lời ngày 17 tháng 4 năm 2017 lúc 21:12
[sum[x] for x in zip[*input_val]]
1Stephen 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 badges76 bronze badges
Javnoorjavnoor
[sum[x] for x in zip[*input_val]]
23921 Huy hiệu bạc11 Huy hiệu đồngApr 17, 2017 at 21:11
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:Pedro LobitoĐã trả lời ngày 17 tháng 4 năm 2017 lúc 21:1030 gold badges239 silver badges257 bronze badges
Moinuddin Quadrimoinuddin Quadri
[sum[x] for x in zip[*input_val]]
3
44.9K12 Huy hiệu vàng93 Huy hiệu bạc119 Huy hiệu đồng
Điều này sẽ hoạt động:9 gold badges61 silver badges87 bronze badges
3921 Huy hiệu bạc11 Huy hiệu đồngApr 17, 2017 at 21:11
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:LLLĐã trả lời ngày 17 tháng 4 năm 2017 lúc 21:102 gold badges23 silver badges39 bronze badges
Moinuddin Quadrimoinuddin Quadri
44.9K12 Huy hiệu vàng93 Huy hiệu bạc119 Huy hiệu đồng
[sum[x] for x in zip[*input_val]]
4Điều này sẽ hoạt động:
[sum[x] for x in zip[*input_val]]
5Alexalex
[sum[x] for x in zip[*input_val]]
61.31212 Huy hiệu bạc26 Huy hiệu đồngNov 22, 2018 at 7:30
[sum[x] for x in zip[*input_val]]
7Thử cái này:
Stephen Rauch ♦♦
45,9K31 Huy hiệu vàng106 Huy hiệu bạc126 Huy hiệu Đồng31 gold badges106 silver badges126 bronze badges
Đã trả lời ngày 17 tháng 4 năm 2017 lúc 21:12Jan 28, 2018 at 1:26
1
67.6K7 Huy hiệu vàng58 Huy hiệu bạc100 Huy hiệu đồng
[sum[x] for x in zip[*input_val]]
8Tôi nghĩ rằng đây là cách làm điều này Pythonic nhấtJun 21 at 7:40