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

Chương trình Python để làm phẳng danh sách lồng nhau thành danh sách Tuple

Khi bắt buộc phải san phẳng một danh sách lồng nhau thành một danh sách tuple, một phương thức được định nghĩa sẽ nhận một danh sách làm tham số và sử dụng phương thức ‘isinstance’ để kiểm tra xem một phần tử có thuộc một kiểu cụ thể hay không. Tùy thuộc vào điều này, đầu ra được hiển thị.

Ví dụ

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

def convert_nested_tuple(my_list):
   for elem in my_list:
      if isinstance(elem, list):
         convert_nested_tuple(elem)
      else:
         my_result.append(elem)
   return my_result

my_list = [[[(3, 62)]], [[[(57, 49)]]], [[[[(12, 99)]]]]]

print("The list is :")
print(my_list)

my_result = []
my_result = convert_nested_tuple(my_list)

print("The list is :")
print(my_result)

Đầu ra

The list is :
[[[(3, 62)]], [[[(57, 49)]]], [[[[(12, 99)]]]]]
The list is :
[(3, 62), (57, 49), (12, 99)]

Giải thích

  • Một phương thức có tên là ‘convert_nested_tuple’ được định nghĩa để sử dụng một danh sách làm tham số.

  • Các phần tử danh sách được lặp lại.

  • Phương thức "isinstance" được sử dụng để kiểm tra xem mọi phần tử trong danh sách lồng nhau có thuộc loại danh sách hay không.

  • Nếu có, phương thức được gọi.

  • Nếu không, phần tử sẽ được thêm vào một danh sách trống.

  • Kết quả là kết quả này được trả về.

  • Bên ngoài phương thức, danh sách bộ tuple lồng nhau đượ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.

  • Phương thức này được gọi bằng cách chuyển danh sách tuple trước đó làm tham số.

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