Tính tổng các phần tử liên tiếp cho đến khi gặp giá trị K (key), sau đó ghi nhận tổng và giá trị K, reset tổng, tiếp tục. Cuối cùng thêm tổng còn lại.
Ví dụ
Minh họa:
from collections import defaultdict
my_list = [21, 4, 37, 46, 7, 56, 7, 69, 2, 86, 1]
print("Danh sách:", my_list)
my_key = 46
print("Key:", 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("Kết quả:", my_result)
Kết quả
Danh sách: [21, 4, 37, 46, 7, 56, 7, 69, 2, 86, 1] Key: 46 Kết quả: [62, 46, 228]
Giải thích
- Khởi tạo tổng = 0, list kết quả rỗng.
- Duyệt từng phần tử: nếu khác key, cộng vào tổng.
- Nếu bằng key: append tổng hiện tại, append key, reset tổng = 0.
- Sau vòng lặp, append tổng cuối cùng (nếu có).