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