เมื่อจำเป็นต้องย้อนกลับอาร์เรย์ที่หมุนแล้ว จะมีการกำหนดวิธีการ ซึ่งจะวนซ้ำผ่านรายการและย้อนกลับรายการ มีการกำหนดวิธีการอื่นที่หมุนรายการและกำหนดวิธีการอื่นที่แสดงรายการ ใช้การวนซ้ำและการจัดทำดัชนีอย่างง่ายเพื่อให้บรรลุเป้าหมายนี้
ด้านล่างนี้เป็นการสาธิตสำหรับสิ่งเดียวกัน -
ตัวอย่าง
def reverse_list(my_list, begin, end): while (begin < end): temp = my_list[begin] my_list[begin] = my_list[end] my_list[end] = temp begin += 1 end = end-1 def left_rotate(my_list, to_rotate): n = len(my_list) reverse_list(my_list, 0, to_rotate-1) reverse_list(my_list, to_rotate, n-1) reverse_list(my_list, 0, n-1) def print_it(my_list): for i in range(0, len(my_list)): print(my_list[i]) my_list = [34, 42, 56, 78, 9, 0, 23] print("The list is :") print(my_list) print("The left_rotate method is being called") left_rotate(my_list, 3) print("The list after rotation is : ") print_it(my_list)
ผลลัพธ์
The list is : [34, 42, 56, 78, 9, 0, 23] The left_rotate method is being called The list after rotation is : 78 9 0 23 34 42 56
คำอธิบาย
- มีการกำหนดวิธีการชื่อ 'reverse_list' ซึ่งจะกลับรายการที่กำหนด
- มีการกำหนดวิธีการอื่นที่ชื่อว่า 'rotate_list' ซึ่งจะหมุนเวียนรายการตามค่า pivot เฉพาะ
- มีการกำหนดวิธีการอื่นที่ชื่อว่า 'print_it' ซึ่งจะพิมพ์รายการบนคอนโซล
- รายการถูกกำหนดและแสดงบนคอนโซล
- มีการเรียกใช้เมธอด 'left_rotate' ในรายการนี้ และองค์ประกอบต่างๆ จะแสดงบนคอนโซลหลังการหมุนและการกลับรายการ