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

เพิ่มเฉพาะค่าตัวเลขที่มีอยู่ในรายการใน Python


เรามีรายการ Python ที่มีทั้งสตริงและตัวเลข ในบทความนี้เราจะมาดูวิธีการสรุปตัวเลขในรายการดังกล่าวโดยไม่สนใจสตริง

มีตัวกรองและอินสแตนซ์

ฟังก์ชัน isinstance สามารถใช้เพื่อกรองเฉพาะตัวเลขจากองค์ประกอบในรายการ จากนั้นเราใช้ฟังก์ชัน sum และได้ผลลัพธ์สุดท้าย

ตัวอย่าง

listA = [1,14,'Mon','Tue',23,'Wed',14,-4]
#Given dlist
print("Given list: ",listA)
# Add the numeric values
res = sum(filter(lambda i: isinstance(i, int), listA))
print ("Sum of numbers in listA: ", res)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given list: [1, 14, 'Mon', 'Tue', 23, 'Wed', 14, -4]
Sum of numbers in listA: 48

มี for loop

เป็นแนวทางที่คล้ายคลึงกันกับวอลล์ ยกเว้นว่าเราไม่ได้ใช้ตัวกรอง แทนที่จะใช้การติดตามและเป็นเงื่อนไขอินสแตนซ์ จากนั้นใช้ฟังก์ชันผลรวม

ตัวอย่าง

listA = [1,14,'Mon','Tue',23,'Wed',14,-4]
#Given dlist
print("Given list: ",listA)
# Add the numeric values
res = sum([x for x in listA if isinstance(x, int)])
print ("Sum of numbers in listA: ", res)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given list: [1, 14, 'Mon', 'Tue', 23, 'Wed', 14, -4]
Sum of numbers in listA: 48