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

Python – ดึงช่วงขององค์ประกอบที่ซ้ำกันติดต่อกันจากลิสต์สตริง


เมื่อต้องการดึงช่วงขององค์ประกอบที่ซ้ำกันติดต่อกันจากลิสต์ ใช้การวนลูปง่ายและเมธอด 'append'

ตัวอย่าง

สาธิตด้านล่าง:

my_list = [12, 23, 23, 23, 48, 48, 36, 17, 17] 
print("The list is : ") 
print(my_list) 
my_result = [] 
index = 0 
while index < (len(my_list)): 
    start_position = index 
    val = my_list[index] 
    while (index < len(my_list) and my_list[index] == val): 
        index += 1 
    end_position = index - 1 
    my_result.append((val, start_position, end_position)) 
print("The my_result is :") 
print(my_result)

ผลลัพธ์

The list is : [12, 23, 23, 23, 48, 48, 36, 17, 17] 
The my_result is : [(12, 0, 0), (23, 1, 3), (48, 4, 5), (36, 6, 6), (17, 7, 8)]

คำอธิบาย

  • กำหนดลิสต์และแสดงผล
  • สร้างลิสต์ว่าง
  • กำหนดค่า index = 0
  • วนลูปลิสต์ วางเงื่อนไข while
  • ตรวจสอบว่า index น้อยกว่าความยาวลิสต์ และค่าที่ index เท่ากับค่าที่กำหนด
  • ถ้าใช่ เพิ่ม index
  • มิฉะนั้น ลด index ลง 1 กำหนดให้ตัวแปรอื่น
  • นำค่าจำนวนเต็มไป append ในลิสต์ว่าง
  • แสดงผลลัพธ์บนคอนโซล