Computer >> Máy Tính >  >> Lập trình >> Python

Python - Cách xoay danh sách

Danh sách là một vùng chứa quan trọng và được sử dụng hầu hết trong mọi mã lập trình hàng ngày cũng như phát triển web, nó được sử dụng nhiều hơn, càng đòi hỏi phải nắm vững nó và do đó cần phải có kiến ​​thức về các hoạt động của nó.

Ví dụ

# 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))

Đầu ra

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]