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

Chương trình Python trích xuất hàng có phần tử chênh lệch đều

Khi cần trích xuất các hàng mà các phần tử liên tiếp có chênh lệch không đổi (cấp số cộng), ta dùng vòng lặp và biến cờ (flag).

Ví dụ

my_list = [[31, 27, 10], [8, 11, 12], [11, 12, 13], [6, 9, 10]]
print("Danh sách là:")
print(my_list)

my_result = []
for row in my_list:
    temp = True
    for index in range(0, len(row) - 1):
        if row[index + 1] - row[index] != row[1] - row[0]:
            temp = False
            break
    if temp:
        my_result.append(row)

print("Danh sách kết quả:")
print(my_result)

Kết quả đầu ra

Danh sách là:
[[31, 27, 10], [8, 11, 12], [11, 12, 13], [6, 9, 10]]
Danh sách kết quả:
[[11, 12, 13]]

Giải thích

  • Định nghĩa danh sách các tuple/hàng và hiển thị.
  • Tạo danh sách rỗng kết quả.
  • Duyệt từng hàng, gán cờ temp = True.
  • Duyệt chỉ số, kiểm tra chênh lệch giữa phần tử liên tiếp có bằng chênh lệch ban đầu không.
  • Nếu không, gán False và thoát vòng lặp.
  • Nếu cờ vẫn True, thêm hàng vào kết quả.
  • Hiển thị kết quả.

Ý nghĩa: Chỉ giữ lại các hàng tạo thành cấp số cộng (chênh lệch giữa các phần tử liên tiếp bằng nhau).