List เป็นคอนเทนเนอร์ที่สำคัญและใช้ในเกือบทุกรหัสของการเขียนโปรแกรมรายวันตลอดจนการพัฒนาเว็บ ยิ่งมีการใช้มาก ความต้องการในการควบคุมมันก็ยิ่งมากขึ้น และด้วยเหตุนี้จึงจำเป็นต้องมีความรู้เกี่ยวกับการดำเนินงาน
ตัวอย่าง
# using slice # initializing list test_list = [1, 4, 6, 7, 2] # printing original list print ("Original list : " + str(test_list)) # using slicing to left rotate by 3 test_list = test_list[3:] + test_list[:3] # Printing list after left rotate print ("List after left rotate by 3 : " + str(test_list)) # using slicing to right rotate by 3 # back to Original test_list = test_list[-3:] + test_list[:-3] # Printing after right rotate print ("List after right rotate by 3(back to original) : " + str(test_list)) # using list comprehension # initializing list test_list = [1, 4, 6, 7, 2] # printing original list print ("Original list : " + str(test_list)) # using list comprehension to left rotate by 3 test_list = [test_list[(i + 3) % len(test_list)] for i, x in enumerate(test_list)] # Printing list after left rotate print ("List after left rotate by 3 : " + str(test_list)) # using list comprehension to right rotate by 3 # back to Original test_list = [test_list[(i - 3) % len(test_list)] for i, x in enumerate(test_list)] # Printing after right rotate print ("List after right rotate by 3(back to original) : " + str(test_list)) # using rotate() from collections import deque # initializing list test_list = [1, 4, 6, 7, 2] # printing original list print ("Original list : " + str(test_list)) # using rotate() to left rotate by 3 test_list = deque(test_list) test_list.rotate(-3) test_list = list(test_list) # Printing list after left rotate print ("List after left rotate by 3 : " + str(test_list)) # using rotate() to right rotate by 3 # back to Original test_list = deque(test_list) test_list.rotate(3) test_list = list(test_list) # Printing after right rotate print ("List after right rotate by 3(back to original) : " + str(test_list))
ผลลัพธ์
Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3(back to original) : [1, 4, 6, 7, 2] Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3(back to original) : [1, 4, 6, 7, 2] Original list : [1, 4, 6, 7, 2] List after left rotate by 3 : [7, 2, 1, 4, 6] List after right rotate by 3(back to original) : [1, 4, 6, 7, 2]