Danh sách trong Python có thể cộng nhau tạo danh sách mới chứa phần tử từ cả hai. Có nhiều cách, nhưng yêu cầu hai danh sách cùng độ dài.
Dùng Append()
Dùng append() thêm phần tử từ danh sách này sang danh sách kia.
Ví dụ
List1 = [7, 5.7, 21, 18, 8/3]
List2 = [9, 15, 6.2, 1/3, 11]
print("list1 : " + str(List1))
print("list2 : " + str(List2))
newList = []
for n in range(0, len(List1)):
newList.append(List1[n] + List2[n])
print(newList)
Kết quả:
list1 : [7, 5.7, 21, 18, 2.6666666666666665] list2 : [9, 15, 6.2, 0.3333333333333333, 11] [16, 20.7, 27.2, 18.333333333333332, 13.666666666666666]
Dùng Map() và Add()
Dùng map() với add() (từ module operator). map dùng hàm add làm tham số đầu, cộng phần tử cùng chỉ mục của hai danh sách.
Ví dụ
from operator import add
List1 = [7, 5.7, 21, 18, 8/3]
List2 = [9, 15, 6.2, 1/3, 11]
print("list1 : " + str(List1))
print("list2 : " + str(List2))
NewList = list(map(add, List1, List2))
print(NewList)
Kết quả:
list1 : [7, 5.7, 21, 18, 2.6666666666666665] list2 : [9, 15, 6.2, 0.3333333333333333, 11] [16, 20.7, 27.2, 18.333333333333332, 13.666666666666666]
Dùng Zip() và Sum()
Tương tự, dùng zip() và sum() trong vòng lặp for. zip ghép cặp phần tử cùng chỉ mục, sum cộng từng cặp.
Ví dụ
List1 = [7, 5.7, 21, 18, 8/3] List2 = [9, 15, 6.2, 1/3, 11] result = [sum(n) for n in zip(List1, List2)] print(result)
Kết quả:
[16, 20.7, 27.2, 18.333333333333332, 13.666666666666666]