แนวคิด
นำลิสต์ตัวเลขมารวมเป็นสตริงต่อเนื่อง แล้วตัดเป็นชุดละ K หลัก แปลงกลับเป็นตัวเลข
ตัวอย่างโค้ด
my_list = [231, 67, 232, 1, 238, 31, 793]
print("ลิสต์:", my_list)
K = 3
print("K =", K)
# รวมเป็นสตริงเดียว
temp = ''.join(str(ele) for ele in my_list)
print("รวมเป็นสตริง:", temp)
# ตัดชุดละ K
my_result = []
for i in range(0, len(temp), K):
my_result.append(int(temp[i:i+K]))
print("ผลลัพธ์:", my_result)
ผลลัพธ์
ลิสต์: [231, 67, 232, 1, 238, 31, 793]
K = 3
รวมเป็นสตริง: 23167232123831793
ผลลัพธ์: [231, 672, 321, 238, 317, 93]
คำอธิบาย
''.join(str(ele) for ele in my_list)->'23167232123831793'- วนลูปทุก K ตัว: index 0,3,6,9,12,15
- สไลด์
temp[i:i+K]แปลงเป็น int - ชุดสุดท้ายอาจสั้นกว่า K (93 มี 2 หลัก)
การประยุกต์
- Encoding/decoding ข้อมูลตัวเลข
- จัดรูปแบบหมายเลขบัตรประชาชน, เบอร์โทร
- Chunking ข้อมูลสตรีม