Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python – Tìm điểm giảm (Decreasing point) trong danh sách

Tìm chỉ số đầu tiên mà phần tử tiếp theo nhỏ hơn phần tử hiện tại (điểm bắt đầu giảm). Sử dụng vòng lặp và break.

Mã nguồn

my_list = [21, 62, 53, 94, 55, 66, 18, 1, 0]
print("Danh sách:", my_list)

my_result = -1
for index in range(0, len(my_list) - 1):
    if my_list[index + 1] < my_list[index]:
        my_result = index
        break

print("Chỉ số điểm giảm đầu tiên:", my_result)

Kết quả

Danh sách: [21, 62, 53, 94, 55, 66, 18, 1, 0]
Chỉ số điểm giảm đầu tiên: 1

Giải thích

  • Duyệt từ 0 đến len-2 (để index+1 hợp lệ).
  • So sánh my_list[index+1] < my_list[index].
  • Tại index=1: 53 < 62 → đúng, gán my_result=1 và break.
  • Nếu không tìm thấy, kết quả giữ -1.

Ứng dụng

Phát hiện điểm thay đổi xu hướng trong dữ liệu chuỗi thời gian, tìm đỉnh cục bộ, hoặc kiểm tra danh sách có được sắp xếp tăng dần không.

Cách khác (Pythonic)

# Dùng next() với generator
my_result = next((i for i in range(len(my_list)-1) if my_list[i+1] < my_list[i]), -1)