Computer >> Máy Tính >  >> Lập trình >> Python

Python - Phạm vi trích xuất của các phần tử tương tự liên tiếp trong phạm vi từ danh sách chuỗi

Khi được yêu cầu trích xuất phạm vi các phần tử tương tự liên tiếp trong phạm vi danh sách, một phép lặp đơn giản và phương thức 'append' sẽ được sử dụng.

Ví dụ

Dưới đây là một minh chứng về điều tương tự -

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)

Đầu ra

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)]

Giải thích

  • Một danh sách được xác định và hiển thị trên bảng điều khiển.

  • Một danh sách trống được tạo.

  • Giá trị cho chỉ mục được xác định là 0.

  • Danh sách được lặp lại và điều kiện "while" được đặt.

  • Thao tác này sẽ kiểm tra xem chỉ mục cụ thể có nhỏ hơn độ dài của danh sách hay không và liệu giá trị cụ thể tại chỉ mục có giống với các giá trị đã xác định trước đó hay không.

  • Nếu có, chỉ số sẽ được tăng lên.

  • Nếu không, chỉ số sẽ giảm đi 1 và được gán cho một biến khác.

  • Các số nguyên được thêm vào danh sách trống.

  • Đây là đầu ra được hiển thị trên bảng điều khiển.