คำนวณผลรวมของแต่ละค่ายกกำลังความถี่ (Frequency) ของการปรากฏติดกัน (Consecutive) ในลิสต์
ตัวอย่างโค้ด
my_list = [21, 21, 23, 23, 45, 45, 45, 56, 56, 67]
print("The list is :")
print(my_list)
my_freq = 1
my_result = 0
for index in range(0, len(my_list) - 1):
if my_list[index] != my_list[index + 1]:
my_result = my_result + my_list[index] ** my_freq
my_freq = 1
else:
my_freq += 1
my_result = my_result + my_list[len(my_list) - 1] ** my_freq
print("The resultant value is :")
print(my_result)
ผลลัพธ์
The list is : [21, 21, 23, 23, 45, 45, 45, 56, 56, 67]
The resultant value is : 95298
คำอธิบาย
- นับความถี่ติดกัน (
my_freq) - เจอค่าต่างจากตัวถัดไป: บวก
ค่า ** ความถี่รีเซ็ตความถี่ = 1 - เจอค่าเท่ากัน: เพิ่มความถี่
- หลังลูป: บวกกลุ่มสุดท้าย
- ตัวอย่าง: 21^2 + 23^2 + 45^3 + 56^2 + 67^1 = 441 + 529 + 91125 + 3136 + 67 = 95298