เมื่อจำเป็นต้องทำให้รายการที่ซ้อนกันเป็นรายการทูเพิล จะมีการกำหนดเมธอดที่ใช้รายการเป็นพารามิเตอร์ และใช้วิธี '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' ใช้เพื่อตรวจสอบว่าทุกองค์ประกอบในรายการที่ซ้อนกันนั้นเป็นของประเภทรายการหรือไม่
-
ถ้าใช่ จะเรียกวิธีการ
-
มิฉะนั้น องค์ประกอบจะถูกผนวกเข้ากับรายการที่ว่างเปล่า
-
ผลลัพธ์นี้จะถูกส่งกลับ
-
นอกเมธอด รายการทูเพิลที่ซ้อนกันถูกกำหนดและแสดงบนคอนโซล
-
มีการกำหนดรายการที่ว่างเปล่า
-
เมธอดนี้เรียกโดยส่งรายการทูเพิลก่อนหน้าเป็นพารามิเตอร์
-
เอาต์พุตจะแสดงบนคอนโซล