Hướng dẫn how do you sum two arrays in python? - làm thế nào để bạn tổng hợp hai mảng trong python?

Hàm

import numpy as np
np.add[first, second]
1 rất hữu ích ở đây, được sử dụng với sự hiểu biết danh sách.

[x + y for x, y in zip[first, second]]

Nếu bạn có một danh sách các danh sách [thay vì chỉ hai danh sách]:

lists_of_lists = [[1, 2, 3], [4, 5, 6]]
[sum[x] for x in zip[*lists_of_lists]]
# -> [5, 7, 9]

Đã trả lời ngày 27 tháng 12 năm 2012 lúc 7:12Dec 27, 2012 at 7:12

8

Từ tài liệu

import operator
list[map[operator.add, first,second]]

Đã trả lời ngày 27 tháng 12 năm 2012 lúc 7:29Dec 27, 2012 at 7:29

Thái Tranthai TranThai Tran

9.6957 Huy hiệu vàng41 Huy hiệu bạc62 Huy hiệu Đồng7 gold badges41 silver badges62 bronze badges

1

Hành vi mặc định trong

import numpy as np
np.add[first, second]
2 [
import numpy as np
np.add[first, second]
3, v.v.] là yếu tố khôn ngoan:

import numpy as np
np.add[first, second]

đầu ra nào

array[[7,9,11,13,15]]

Mirekphd

3.29826 huy hiệu bạc44 Huy hiệu đồng26 silver badges44 bronze badges

Đã trả lời ngày 28 tháng 4 năm 2014 lúc 19:57Apr 28, 2014 at 19:57

user3582790user3582790user3582790

5994 Huy hiệu bạc2 Huy hiệu đồng4 silver badges2 bronze badges

7

Giả sử cả hai danh sách

import numpy as np
np.add[first, second]
4 và
import numpy as np
np.add[first, second]
5 có cùng độ dài, bạn không cần zip, numpy hoặc bất cứ điều gì khác.

Python 2.x và 3.x:

[a[i]+b[i] for i in range[len[a]]]

Maro

4533 Huy hiệu vàng11 Huy hiệu bạc29 Huy hiệu đồng3 gold badges11 silver badges29 bronze badges

Đã trả lời ngày 30 tháng 6 năm 2014 lúc 15:31Jun 30, 2014 at 15:31

Mathmathmath

8.24410 Huy hiệu vàng51 Huy hiệu bạc60 Huy hiệu Đồng10 gold badges51 silver badges60 bronze badges

1

Hãy thử mã sau:

first = [1, 2, 3, 4]
second = [2, 3, 4, 5]
third = map[sum, zip[first, second]]

Kenorb

Phù bằng vàng 145K7676 gold badges656 silver badges712 bronze badges

Đã trả lời ngày 16 tháng 5 năm 2015 lúc 12:45May 16, 2015 at 12:45

1

Điều này mở rộng đến bất kỳ số lượng danh sách nào:

[sum[sublist] for sublist in itertools.izip[*myListOfLists]]

Trong trường hợp của bạn,

import numpy as np
np.add[first, second]
6 sẽ là
import numpy as np
np.add[first, second]
7

Đã trả lời ngày 27 tháng 12 năm 2012 lúc 7:20Dec 27, 2012 at 7:20

inspectorG4dgetinspectorG4dgetinspectorG4dget

107K25 Huy hiệu vàng138 Huy hiệu bạc236 Huy hiệu Đồng25 gold badges138 silver badges236 bronze badges

2

Cách dễ dàng và cách nhanh chóng để làm điều này là:

three = [sum[i] for i in zip[first,second]] # [7,9,11,13,15]

Ngoài ra, bạn có thể sử dụng Numpy Sum:

from numpy import sum
three = sum[[first,second], axis=0] # array[[7,9,11,13,15]]

Đã trả lời ngày 17 tháng 3 năm 2013 lúc 9:25Mar 17, 2013 at 9:25

ThiruthiruThiru

3.1137 Huy hiệu vàng35 Huy hiệu bạc49 Huy hiệu đồng7 gold badges35 silver badges49 bronze badges

1

Giải pháp một lớp lót

lists_of_lists = [[1, 2, 3], [4, 5, 6]]
[sum[x] for x in zip[*lists_of_lists]]
# -> [5, 7, 9]
0

Đã trả lời ngày 25 tháng 7 năm 2019 lúc 7:36Jul 25, 2019 at 7:36

ShadowManshadowmanShadowman

611 Huy hiệu bạc4 Huy hiệu đồng1 silver badge4 bronze badges

lists_of_lists = [[1, 2, 3], [4, 5, 6]]
[sum[x] for x in zip[*lists_of_lists]]
# -> [5, 7, 9]
1

Ketzoomer

2.4963 huy hiệu vàng14 Huy hiệu bạc37 Huy hiệu đồng3 gold badges14 silver badges37 bronze badges

Đã trả lời ngày 21 tháng 7 năm 2017 lúc 8:11Jul 21, 2017 at 8:11

Anurag Misraanurag MisraAnurag Misra

1.42217 Huy hiệu bạc23 Huy hiệu đồng17 silver badges23 bronze badges

1

Nếu bạn có số lượng danh sách không xác định có cùng độ dài, bạn có thể sử dụng hàm dưới đây.

Ở đây *Args chấp nhận một số lượng biến số của các đối số danh sách [nhưng chỉ tổng hợp cùng một số phần tử trong mỗi đối tượng]. * Được sử dụng một lần nữa để giải nén các yếu tố trong mỗi danh sách.

lists_of_lists = [[1, 2, 3], [4, 5, 6]]
[sum[x] for x in zip[*lists_of_lists]]
# -> [5, 7, 9]
2

Output:

lists_of_lists = [[1, 2, 3], [4, 5, 6]]
[sum[x] for x in zip[*lists_of_lists]]
# -> [5, 7, 9]
3

Hoặc với 3 danh sách

lists_of_lists = [[1, 2, 3], [4, 5, 6]]
[sum[x] for x in zip[*lists_of_lists]]
# -> [5, 7, 9]
4

Output:

lists_of_lists = [[1, 2, 3], [4, 5, 6]]
[sum[x] for x in zip[*lists_of_lists]]
# -> [5, 7, 9]
5

Đã trả lời ngày 19 tháng 5 năm 2019 lúc 13:44May 19, 2019 at 13:44

0

Câu trả lời của tôi được lặp lại với Thiru đã trả lời nó vào ngày 17 tháng 3 lúc 9:25.

Nó đơn giản và nhanh chóng hơn, đây là giải pháp của anh ấy:

Cách dễ dàng và cách nhanh chóng để làm điều này là:

lists_of_lists = [[1, 2, 3], [4, 5, 6]]
[sum[x] for x in zip[*lists_of_lists]]
# -> [5, 7, 9]
6

Ngoài ra, bạn có thể sử dụng Numpy Sum:

lists_of_lists = [[1, 2, 3], [4, 5, 6]]
[sum[x] for x in zip[*lists_of_lists]]
# -> [5, 7, 9]
7

Đã trả lời ngày 17 tháng 3 năm 2013 lúc 9:25

Thiruthiru

lists_of_lists = [[1, 2, 3], [4, 5, 6]]
[sum[x] for x in zip[*lists_of_lists]]
# -> [5, 7, 9]
8

3.1137 Huy hiệu vàng35 Huy hiệu bạc49 Huy hiệu đồngOct 22, 2013 at 9:58

Giải pháp một lớp lótPiece

Đã trả lời ngày 25 tháng 7 năm 2019 lúc 7:362 bronze badges

1

ShadowManshadowman

lists_of_lists = [[1, 2, 3], [4, 5, 6]]
[sum[x] for x in zip[*lists_of_lists]]
# -> [5, 7, 9]
9

611 Huy hiệu bạc4 Huy hiệu đồngApr 26, 2020 at 19:21

Ketzoomermohammed wazeem

2.4963 huy hiệu vàng14 Huy hiệu bạc37 Huy hiệu đồng1 gold badge8 silver badges25 bronze badges

Đã trả lời ngày 21 tháng 7 năm 2017 lúc 8:11

import operator
list[map[operator.add, first,second]]
0

Đã trả lời ngày 27 tháng 12 năm 2012 lúc 7:12Dec 27, 2012 at 7:12

Anurag Misraanurag Misracdhowie

1.42217 Huy hiệu bạc23 Huy hiệu đồng23 gold badges278 silver badges290 bronze badges

Nếu bạn có số lượng danh sách không xác định có cùng độ dài, bạn có thể sử dụng hàm dưới đây.

import operator
list[map[operator.add, first,second]]
1

Ở đây *Args chấp nhận một số lượng biến số của các đối số danh sách [nhưng chỉ tổng hợp cùng một số phần tử trong mỗi đối tượng]. * Được sử dụng một lần nữa để giải nén các yếu tố trong mỗi danh sách.

import operator
list[map[operator.add, first,second]]
2

Hoặc với 3 danh sách

Đã trả lời ngày 19 tháng 5 năm 2019 lúc 13:442 gold badges17 silver badges30 bronze badges

Câu trả lời của tôi được lặp lại với Thiru đã trả lời nó vào ngày 17 tháng 3 lúc 9:25.Sep 23, 2016 at 19:18

Nó đơn giản và nhanh chóng hơn, đây là giải pháp của anh ấy:Stryker

Bạn cần numpy!54 silver badges66 bronze badges

mảng numpy có thể thực hiện một số hoạt động như vectơ

import operator
list[map[operator.add, first,second]]
3

Đã trả lời ngày 22 tháng 10 năm 2013 lúc 9:58May 10, 2017 at 10:59

Từng phần

Phù hiệu bằng đồng 212Jul 5, 2017 at 11:49

Điều gì sẽ xảy ra nếu bạn có danh sách với độ dài khác nhau, thì bạn có thể thử một cái gì đó như thế này [sử dụng

import numpy as np
np.add[first, second]
8]

import operator
list[map[operator.add, first,second]]
5

Đã trả lời ngày 26 tháng 4 năm 2020 lúc 19:21

Mohammed Wazeemmohammed Wazeem7 gold badges51 silver badges73 bronze badges

1.2501 huy hiệu vàng8 Huy hiệu bạc25 Huy hiệu đồngSep 11, 2017 at 19:49

import operator
list[map[operator.add, first,second]]
6

Bạn có thể sử dụng

import numpy as np
np.add[first, second]
9, sẽ "xen kẽ" hai mảng với nhau, sau đó
array[[7,9,11,13,15]]
0, sẽ áp dụng một hàm cho mỗi phần tử trong một điều không thể sử dụng được:

CDHowieCdhowie9 gold badges59 silver badges113 bronze badges

150K23 Huy hiệu vàng278 Huy hiệu bạc290 Huy hiệu ĐồngDec 27, 2017 at 5:06

1

Đây là một cách khác để làm điều đó. Chúng tôi sử dụng chức năng __Add__ bên trong của Python:

import operator
list[map[operator.add, first,second]]
7

Đầu raApr 25, 2019 at 10:32

TrakjohnsonRadvin

1.6292 Huy hiệu vàng17 Huy hiệu bạc 30 Huy hiệu Đồng4 silver badges10 bronze badges

Đã trả lời ngày 23 tháng 9 năm 2016 lúc 19:18

import operator
list[map[operator.add, first,second]]
8

StrykerstrykerJul 26, 2018 at 15:20

import operator
list[map[operator.add, first,second]]
9

5.39254 Huy hiệu bạc66 Huy hiệu ĐồngSep 13 at 7:51

2

Nếu bạn cũng muốn thêm phần còn lại của các giá trị trong danh sách bạn có thể sử dụng điều này [điều này đang hoạt động trong Python3.5]

import numpy as np
np.add[first, second]
0

Đã trả lời ngày 10 tháng 5 năm 2017 lúc 10:59Dec 27, 2012 at 11:52

import operator
list[map[operator.add, first,second]]
4HelloUni

Đã trả lời ngày 5 tháng 7 năm 2017 lúc 11:492 gold badges5 silver badges10 bronze badges

Chúng ta có thể thêm 2 mảng trong Python không?

Tham gia các mảng bằng các hàm ngăn xếp, chúng ta có thể kết hợp hai mảng 1-D dọc theo trục thứ hai, điều này sẽ dẫn đến việc đặt chúng lên cái kia, tức là.xếp chồng.Chúng tôi vượt qua một chuỗi các mảng mà chúng tôi muốn tham gia vào phương thức Stack [] cùng với trục.We can concatenate two 1-D arrays along the second axis which would result in putting them one over the other, ie. stacking. We pass a sequence of arrays that we want to join to the stack[] method along with the axis.

Làm thế nào để bạn tổng hợp hai mảng?

Ý tưởng là bắt đầu đi qua cả hai mảng đồng thời từ cuối cho đến khi chúng ta đạt đến chỉ số 0 của một trong hai mảng.Trong khi đi qua từng phần tử của mảng, thêm phần tử của cả mảng và mang từ tổng trước đó.Bây giờ lưu trữ chữ số đơn vị của tổng và chuyển tiếp cho tổng chỉ mục tiếp theo.

Làm thế nào để bạn tổng hợp một mảng?

Để tìm tổng các phần tử của một mảng ...
Tạo một biến trống.[ Tổng].
Khởi tạo nó với 0 trong một vòng lặp ..
Đi qua từng phần tử [hoặc lấy mỗi phần tử từ người dùng] Thêm từng phần tử vào tổng ..
In tổng ..

Làm thế nào để bạn tổng hợp một mảng numpy trong Python?

SUM [] trong Python.numpy.sum [mảng, trục, dtype, out]: hàm này trả về tổng các phần tử mảng trên trục được chỉ định.numpy. sum[arr, axis, dtype, out] : This function returns the sum of array elements over the specified axis.

Bài Viết Liên Quan

Chủ Đề