Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python เพื่อ Flatten Nested List เป็น Tuple List


เมื่อจำเป็นต้องทำให้รายการที่ซ้อนกันเป็นรายการทูเพิล จะมีการกำหนดเมธอดที่ใช้รายการเป็นพารามิเตอร์ และใช้วิธี 'isinstance' เพื่อตรวจสอบว่าองค์ประกอบนั้นเป็นของประเภทใดประเภทหนึ่งหรือไม่ ขึ้นอยู่กับสิ่งนี้ เอาต์พุตจะปรากฏขึ้น

ตัวอย่าง

ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน

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)

ผลลัพธ์

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

คำอธิบาย

  • มีการกำหนดเมธอดชื่อ 'convert_nested_tuple' ซึ่งรับรายการเป็นพารามิเตอร์

  • องค์ประกอบรายการซ้ำแล้วซ้ำอีก

  • วิธี 'isinstance' ใช้เพื่อตรวจสอบว่าทุกองค์ประกอบในรายการที่ซ้อนกันนั้นเป็นของประเภทรายการหรือไม่

  • ถ้าใช่ จะเรียกวิธีการ

  • มิฉะนั้น องค์ประกอบจะถูกผนวกเข้ากับรายการที่ว่างเปล่า

  • ผลลัพธ์นี้จะถูกส่งกลับ

  • นอกเมธอด รายการทูเพิลที่ซ้อนกันถูกกำหนดและแสดงบนคอนโซล

  • มีการกำหนดรายการที่ว่างเปล่า

  • เมธอดนี้เรียกโดยส่งรายการทูเพิลก่อนหน้าเป็นพารามิเตอร์

  • เอาต์พุตจะแสดงบนคอนโซล