หาผลรวมของตัวเลขในลิสต์ทีละกลุ่ม จนกว่าจะเจอค่า Key (K) แล้วบันทึกผลรวมและค่า K แล้วรีเซ็ตผลรวม เริ่มกลุ่มใหม่
ตัวอย่างโค้ด
from collections import defaultdict
my_list = [21, 4, 37, 46, 7, 56, 7, 69, 2, 86, 1]
print("The list is :")
print(my_list)
my_key = 46
print("The key is ")
print(my_key)
my_sum = 0
my_result = []
for ele in my_list:
if ele != my_key:
my_sum += ele
else:
my_result.append(my_sum)
my_result.append(ele)
my_sum = 0
my_result.append(my_sum)
print("The resultant list is :")
print(my_result)
ผลลัพธ์
The list is : [21, 4, 37, 46, 7, 56, 7, 69, 2, 86, 1]
The key is 46
The resultant list is : [62, 46, 228]
คำอธิบาย
- สะสมผลรวม
my_sumจนกว่าจะเจอmy_key(46) - เจอ Key: บันทึกผลรวม (62), บันทึก Key (46), รีเซ็ตผลรวม
- หลังลูปจบ: บันทึกผลรวมกลุ่มสุดท้าย (228)
defaultdictถูก Import แต่ไม่ได้ใช้ (อาจเป็นโค้ดเหลือ)