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]
2Output:
lists_of_lists = [[1, 2, 3], [4, 5, 6]]
[sum[x] for x in zip[*lists_of_lists]]
# -> [5, 7, 9]
3Hoặ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]
4Output:
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à:
6lists_of_lists = [[1, 2, 3], [4, 5, 6]] [sum[x] for x in zip[*lists_of_lists]] # -> [5, 7, 9]
Ngoài ra, bạn có thể sử dụng Numpy Sum:
7lists_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 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]
83.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]
9611 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]]
8StrykerstrykerJul 26, 2018 at 15:20
import operator
list[map[operator.add, first,second]]
95.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