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

Python - หาผลรวมกลุ่มจนกว่าจะเจอค่า K ในลิสต์

หาผลรวมของตัวเลขในลิสต์ทีละกลุ่ม จนกว่าจะเจอค่า 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 แต่ไม่ได้ใช้ (อาจเป็นโค้ดเหลือ)