Danh sách xoay Python

Trong chương trình này, chúng ta cần xoay các phần tử của một mảng về bên trái theo số lần đã chỉ định. Trong phép quay trái, mỗi phần tử của mảng sẽ dịch chuyển sang trái một vị trí và phần tử đầu tiên của mảng sẽ được thêm vào cuối danh sách. Quá trình này sẽ được thực hiện trong một số lần xác định

Xét mảng trên, nếu n bằng 1 thì tất cả các phần tử của mảng sẽ dịch chuyển sang trái một vị trí sao cho phần tử thứ 2 của mảng sẽ chiếm vị trí thứ nhất, phần tử thứ 3 sẽ dịch chuyển sang vị trí thứ 2, v.v. Phần tử đầu tiên của mảng sẽ được thêm vào phần tử cuối cùng của mảng

Đối với vấn đề đầu tiên của chúng tôi, chúng tôi muốn “xoay vòng” một danh sách hoặc di chuyển các phần tử về phía trước trong danh sách theo một số khoảng trắng,

myList = [5, 20, 34, 67, 89, 94, 98, 110]
7

Các phần tử có chỉ số lớn nhất sẽ “quấn quanh” đến đầu danh sách

list = ['a', 'b', 'c', 'd', 'e', 'f'] rotate[list, 0] # ['a', 'b', 'c', 'd', 'e', 'f'] rotate[list, 1] # ['f', 'a', 'b', 'c', 'd', 'e'] rotate[list, 3] # ['d', 'e', 'f', 'a', 'b', 'c']

làm rõ câu hỏi

  • Có những hạn chế về thời gian hoặc không gian hiệu quả?
    • Không. Chỉ cần giải quyết vấn đề
  • Tôi có nên tính đến các đầu vào tiêu cực không?
    • Đầu vào xoay sẽ luôn dương
  • Điều gì xảy ra nếu vòng quay lớn hơn độ dài danh sách?
    • Tiếp tục gói
    • Danh sách “xoay vòng” sẽ giống như danh sách ban đầu khi
      myList = [5, 20, 34, 67, 89, 94, 98, 110]
      
      7 bằng độ dài

Trong bài viết này, chúng ta sẽ xem cách xoay phải một danh sách từ số xoay đã cho. Một danh sách có các giá trị [mục] được phân tách bằng dấu phẩy giữa các dấu ngoặc vuông. Điều quan trọng về danh sách là các mục trong danh sách không nhất thiết phải cùng loại

Giả sử sau đây là danh sách đầu vào của chúng ta -

myList = [5, 20, 34, 67, 89, 94, 98, 110]

Sau đây là đầu ra với n = 4 −

89, 94, 98, 110, 5, 20, 34, 67

Xoay phải danh sách theo n bằng cách cắt

Ở đây, cắt lát được sử dụng để xoay phải một danh sách -

Thí dụ

đầu ra

List before rotation =  [5, 20, 34, 67, 89, 94, 98, 110]
Updated List after rotation =  [89, 94, 98, 110, 5, 20, 34, 67]

Xoay phải Danh sách theo n với if

Ở đây, câu lệnh if được sử dụng để xoay phải một danh sách -

Thí dụ

đầu ra

List before rotation =  [5, 20, 34, 67, 89, 94, 98, 110]
Updated List after rotation =  [89, 94, 98, 110, 5, 20, 34, 67]

Xoay phải Danh sách theo n với vòng lặp for

Ở đây, vòng lặp for được sử dụng để xoay phải một danh sách -

Thí dụ

đầu ra

List before rotation =  [5, 20, 34, 67, 89, 94, 98, 110]
Updated List after rotation =  [89, 94, 98, 110, 5, 20, 34, 67]

Xin chào mọi người. Hôm nay trong hướng dẫn này, chúng ta sẽ tìm hiểu cách xoay danh sách bằng ngôn ngữ lập trình python. Xoay danh sách là một phương pháp đơn giản hữu ích cho các lập trình viên. Hãy xem xét các tùy chọn khác nhau để đạt được vòng quay

Xoay danh sách trong Python

Hãy hiểu cách bạn có thể xoay danh sách trong Python ngay bây giờ. Chúng ta sẽ xem xét nhiều phương pháp khác nhau để làm như vậy bên dưới

Phương pháp 1. Thao tác cắt lát

Một phương pháp khác để xoay danh sách là cắt. Phương pháp

myList = [5, 20, 34, 67, 89, 94, 98, 110]
9 được sử dụng để làm điều này. Danh sách được cắt lát trong ví dụ sau

Trong tình huống này, giá trị của

89, 94, 98, 110, 5, 20, 34, 67
0 là 1, cho biết số lát cắt. Kết quả là, danh sách được quay vòng theo cách tương tự

# Define the list
list_1 = [1,2,3,4,5] 
print["Original list:", list_1]
# Set the number of splits
n_splits = 1
# Rotate The List
list_1 = [list_1[len[list_1] - n_splits:len[list_1]] + list_1[0:len[list_1] - n_splits]] 
print["Rotated list:", list_1]

Original list: [1, 2, 3, 4, 5]
Rotated list: [5, 1, 2, 3, 4]

Phương pháp 2. Hoạt động đi ngang

Đây là cách đơn giản nhất để xoay danh sách trong Python. Chúng tôi đi qua danh sách từng cái một, như tên của nó. Phần tử sau đó được đặt vào đúng vị trí của nó

Chiến lược này được thể hiện trong ví dụ dưới đây. Trong tình huống này, chúng tôi xoay danh sách theo số nguyên n, là 1

________số 8

Original List: [1, 2, 3, 4, 5]
Rotated list:  [5, 1, 2, 3, 4]

Phương pháp 3. Danh sách hiểu

Chúng tôi sửa đổi chỉ mục của danh sách theo cách tiếp cận này bằng cách gán lại chỉ mục mới cho từng phần tử sau khi xoay vòng. Trong ví dụ sau, danh sách được xoay vòng một lần và các giá trị chỉ mục mới được gán

myList = [5, 20, 34, 67, 89, 94, 98, 110]
0

myList = [5, 20, 34, 67, 89, 94, 98, 110]
1

Phương pháp 4. Sử dụng mô-đun bộ sưu tập

Có một mô-đun

Original list: [1, 2, 3, 4, 5]
Rotated list: [5, 1, 2, 3, 4]
0 trong Python có lớp
Original list: [1, 2, 3, 4, 5]
Rotated list: [5, 1, 2, 3, 4]
1. Lớp này bao gồm một phương thức rotate[]

Trong ví dụ sau, chúng tôi đã sử dụng chức năng tích hợp sẵn

Original list: [1, 2, 3, 4, 5]
Rotated list: [5, 1, 2, 3, 4]
2

myList = [5, 20, 34, 67, 89, 94, 98, 110]
5

myList = [5, 20, 34, 67, 89, 94, 98, 110]
6

Phần kết luận

Xin chúc mừng. Bạn vừa học cách thực hiện xoay danh sách bằng nhiều phương pháp. Hy vọng bạn thích nó. 😇

Thích hướng dẫn?

Chủ Đề