เรามีรายการ 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