Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การบวกสมาชิกของสองลิสต์ใน Python

ลิสต์ใน Python สามารถบวกกันได้ สร้างลิสต์ใหม่ที่มีสมาชิกจากทั้งสองลิสต์ มีหลายวิธีการบวกสองลิสต์ อธิบายด้านล่าง แต่ในทุกกรณี ลิสต์ต้องมีความยาวเท่ากัน

ใช้ Append()

ใช้ append() เพื่อเพิ่มสมาชิกของลิสต์หนึ่งเข้าไปอีกลิสต์หนึ่ง

ตัวอย่าง

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)

การรันโค้ดข้างต้นจะให้ผลลัพธ์ดังนี้:

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]

ใช้ Map() และ Add()

เราสามารถใช้ map() ร่วมกับ add() เพื่อบวกสมาชิกของลิสต์ ฟังก์ชัน map ใช้พารามิเตอร์แรกคือฟังก์ชัน add และบวกสมาชิกของสองลิสต์ที่อยู่ในดัชนีเดียวกัน

ตัวอย่าง

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)

การรันโค้ดข้างต้นจะให้ผลลัพธ์ดังนี้:

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]

ใช้ Zip() และ Sum()

ในแนวทางคล้ายกัน เราสามารถใช้ zip() และ sum() พร้อมลูป for ผ่านลูป for เราผูกสมาชิกสองตัวของลิสต์ที่อยู่ในดัชนีเดียวกัน แล้วใช้ sum() กับแต่ละคู่

ตัวอย่าง

# บวกสองสมาชิกในลิสต์
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)

การรันโค้ดข้างต้นจะให้ผลลัพธ์ดังนี้:

[16, 20.7, 27.2, 18.333333333333332, 13.666666666666666]

สรุป: มี 3 วิธีหลักในการบวกสมาชิกลิสต์คู่กัน: for loop + append, map+add, zip+sum ทั้งหมดต้องการลิสต์ความยาวเท่ากัน