เมื่อต้องการหาความยาวของลิสต์ด้วย Recursion ใช้เมธอดที่ผู้ใช้กำหนด และเทคนิค indexing ธรรมดา
ลิสต์สามารถเก็บค่าที่หลากหลายได้
Recursion คำนวณผลลัพธ์ของส่วนเล็กๆ ของปัญหาใหญ่ และรวมส่วนเหล่านี้เพื่อให้คำตอบของปัญหาใหญ่
ตัวอย่าง
def list_length(my_list):
if not my_list:
return 0
return 1 + list_length(my_list[1::2]) + list_length(my_list[2::2])
my_list = [1, 2, 3, 11, 34, 52, 78]
print("The list is :")
print(my_list)
print("The length of the string is : ")
print(list_length(my_list))
ผลลัพธ์
The list is : [1, 2, 3, 11, 34, 52, 78] The length of the string is : 7
คำอธิบาย
- กำหนดเมธอด 'list_length' รับลิสต์เป็นพารามิเตอร์
- หากลิสต์ไม่มี ให้คืนค่า 0
- มิฉะนั้น ทำ indexing เพิ่ม 1 และคืนค่าเป็นเอาต์พุท
- นอกฟังก์ชัน กำหนดลิสต์ และแสดงบนคอนโซล
- เรียกเมธอดโดยส่งลิสต์นี้เป็นพารามิเตอร์
- แสดงเอาต์พุทบนคอนโซล