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

แยกสตริงตัวเลขเป็นชุดละ K หลัก

แนวคิด

รับสตริงตัวเลขยาว แยกเป็นชุดละ K ตัวอักษร แปลงเป็น integer

ตัวอย่างโค้ด

my_string = '69426874124863145'
print("สตริง:", my_string)

K = 4
print("K =", K)

my_result = []
for i in range(0, len(my_string), K):
    chunk = my_string[i:i+K]
    my_result.append(int(chunk))

print("ผลลัพธ์:", my_result)
my_result.sort()
print("หลังเรียง:", my_result)

ผลลัพธ์

สตริง: 69426874124863145
K = 4
ผลลัพธ์: [6942, 6874, 1248, 6314, 5]
หลังเรียง: [5, 1248, 6314, 6874, 6942]

คำอธิบาย

  • range(0, len(s), K) ก้าวล่าม K ตัว
  • s[i:i+K] สไลด์ชุดละ K
  • ชุดสุดท้ายอาจสั้นกว่า K (ในที่นี้เหลือ '5' 1 หลัก)

List Comprehension

result = [int(my_string[i:i+K]) for i in range(0, len(my_string), K)]

กรณีต้องการ padding ชุดสุดท้าย

# เพิ่มศูนย์หน้าชุดสุดท้ายให้ครบ K หลัก
chunks = [my_string[i:i+K].zfill(K) for i in range(0, len(my_string), K)]
result = [int(c) for c in chunks]