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

Python - Lọc các phần tử liên tiếp Tuples

Khi được yêu cầu lọc các phần tử liên tiếp khỏi danh sách tuple, một phương thức được định nghĩa sẽ lấy danh sách tuple làm tham số và kiểm tra chỉ mục của mọi tuple và trả về giá trị Boolean tùy thuộc vào chỉ mục.

Ví dụ

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

print("Method definition begins...")
def check_consec_tuple_elem(my_tuple):
   for idx in range(len(my_tuple) - 1):
      if my_tuple[idx + 1] != my_tuple[idx] + 1:
         return False
   return True
print("Method definition ends...")
my_tuple = [(23, 24, 25, 26), (65, 66, 78, 29), (11, 28, 39), (60, 61, 62, 63)]

print("The list of tuple is : " )
print(my_tuple)

my_result = []

for elem in my_tuple:
   if check_consec_tuple_elem(elem):
      my_result.append(elem)

print("The resultant tuple is : ")
print(my_result)

Đầu ra

Method definition begins...
Method definition ends...
The list of tuple is :
[(23, 24, 25, 26), (65, 66, 78, 29), (11, 28, 39), (60, 61, 62, 63)]
The resultant tuple is :
[(23, 24, 25, 26), (60, 61, 62, 63)]

Giải thích

  • Một phương thức có tên là ‘check_consec_tuple_elem’ được xác định sẽ nhận một tuple làm tham số.

  • Nó lặp lại qua bộ tuple và kiểm tra xem liệu phần tử tại một chỉ mục và phần tử ở cùng một chỉ mục được tăng thêm 1 có bằng nhau hay không.

  • Nếu không, nó trả về False.

  • Bên ngoài phương thức, một danh sách các tuple được xác định và hiển thị trên bảng điều khiển.

  • Một danh sách trống được xác định.

  • Danh sách các tuple được lặp lại và phương thức được gọi bằng cách chuyển mọi tuple vào nó.

  • Kết quả của việc này được thêm vào danh sách trống.

  • Danh sách này được hiển thị dưới dạng đầu ra trên bảng điều khiển.