Làm cách nào để bạn đảo ngược danh sách các phần tử trong python?

Danh sách có lẽ là một trong những kiểu dữ liệu quan trọng và được sử dụng rộng rãi nhất trong Python. Danh sách trong Python là một kiểu dữ liệu được sử dụng để lưu trữ nhiều giá trị, phần tử hoặc các kiểu dữ liệu khác. Danh sách có thể thay đổi, có thể chứa nhiều giá trị trùng lặp và được sắp xếp theo thứ tự. Cũng có thể thực hiện lập chỉ mục và cắt với danh sách. Các mục trong danh sách có thứ tự, vì vậy các phần tử vẫn giữ nguyên thứ tự mà chúng được chèn vào. Hơn nữa, bạn có thể thay đổi danh sách, thêm bớt phần tử trong danh sách.  

Là một kiểu dữ liệu phổ biến, bạn có thể thực hiện nhiều thao tác trên danh sách và một trong số đó là thao tác đảo ngược. Đảo ngược một danh sách có nghĩa là nó đi qua các phần tử từ cuối đến đầu. Mặc dù thao tác đảo ngược có thể không có trường hợp sử dụng trực tiếp, nhưng có thể có một số ứng dụng gián tiếp đảo ngược danh sách trong Python

Python có một hàm dựng sẵn có tên là đảo ngược [] có thể được sử dụng trực tiếp để đảo ngược danh sách. Và đây có lẽ là phương pháp trực tiếp và hiệu quả nhất để làm như vậy. Tuy nhiên, có một số cách giải quyết khác mà bài viết này sẽ thảo luận.  

Vì vậy, không cần phải quảng cáo thêm, hãy bắt đầu

Khóa đào tạo Python

Tìm hiểu về thao tác dữ liệu trong Python Khám phá khóa học

1. Đảo ngược Danh sách bằng Phương thức Reverse[]

Cú pháp chung của phương thức reverse[] là -

danh sách. đảo ngược[]

Xin lưu ý rằng nó gọi phương thức đảo ngược trong danh sách và không nhận bất kỳ đầu vào, đối số hoặc tham số nào. Ngoài ra, nó không trả về bất kỳ giá trị nào nhưng thay đổi danh sách ban đầu. Nó chỉ đơn giản là đảo ngược thứ tự của các phần tử trong danh sách và là phương pháp hiệu quả nhất về cả hiệu suất và tốc độ. Hãy xem cách thực hiện với một ví dụ

def ReverseList[inputList]

danh sách đầu vào. đảo ngược[]

trả lại danh sách đầu vào

inputList = ["Joanna", "Chandler", "Monica", "Joey", "Jessica", "Sarah", "Phoebe", "Rose", "Rachel"]

print["Danh sach ban dau la - ", inputList]

print["Danh sách sau khi đảo ngược là - ", ReverseList[inputList]]

Ở đây, có một hàm xác định lấy đầu vào là danh sách tên. Sau đó, nó gọi phương thức reverse[] tích hợp trong danh sách này để thay đổi chính danh sách đó và đảo ngược nó. Sau đó, nó trả về cùng một danh sách đã sửa đổi. Hãy xác minh đầu ra

Bạn có thể thấy rằng danh sách đã được đảo ngược thành công

2. Đảo ngược danh sách bằng phương thức Reversed[]

Ngoài ra còn có một phương thức khác gọi là Reverse[] có thể được sử dụng để đảo ngược bất kỳ kiểu dữ liệu nào như danh sách, bộ dữ liệu, chuỗi, v.v. Sự khác biệt giữa phương pháp đảo ngược [] và đảo ngược [] là phương pháp đảo ngược [] không đảo ngược danh sách tại chỗ hoặc sửa đổi nó. Nó cũng không trả lại một bản sao đảo ngược khác của danh sách gốc. Những gì nó làm là, nó sẽ trả về một trình vòng lặp đảo ngược trỏ đến phần tử cuối cùng được sử dụng để lặp lại danh sách và lấy các phần tử theo thứ tự đảo ngược

Hãy cố gắng hiểu điều này với sự trợ giúp của một ví dụ

def ReverseList[inputList]

trả về bị đảo ngược [inputList]

inputList = ["Joanna", "Chandler", "Monica", "Joey", "Jessica", "Sarah", "Phoebe", "Rose", "Rachel"]

print["Danh sach ban dau la - ", inputList]

print["Danh sach sau khi đảo ngược là - ", end=""]

cho tên trong ReverseList[inputList]

in [tên, kết thúc = ""]

in["\n"]

Trong ví dụ trên, hàm ReverseList trả về đầu ra của [inputList] bị đảo ngược, là một đối tượng iterator trỏ đến cuối danh sách. Bạn đã thấy việc sử dụng đối tượng lặp này để in các phần tử theo thứ tự đảo ngược

Hãy xác minh đầu ra của chương trình trên

Bạn có thể thấy rằng chương trình đã in tất cả các phần tử của danh sách theo thứ tự đảo ngược và danh sách ban đầu vẫn được giữ nguyên

3. Đảo ngược danh sách bằng cách sử dụng Slicing

Phương pháp này là một thủ thuật mới để đảo ngược một danh sách. Nó không thực hiện bất kỳ loại sửa đổi tại chỗ nào. Trên thực tế, nó tạo ra một bản sao mới của danh sách và bộ nhớ không hiệu quả. Hãy hiểu điều này với sự giúp đỡ của một ví dụ

def ReverseList[inputList]

danh sách đảo ngược = danh sách đầu vào [. -1]

trả lại danh sách đảo ngược

inputList = ["Joanna", "Chandler", "Monica", "Joey", "Jessica", "Sarah", "Phoebe", "Rose", "Rachel"]

print["Danh sach ban dau la - ", inputList]

print["Danh sách sau khi đảo ngược là - ", ReverseList[inputList]]

Trong chương trình trên, bạn đã thấy hành động cắt danh sách để đảo ngược danh sách. Không có giá trị bắt đầu và dừng được xác định trong tham số cắt danh sách. Điều này có nghĩa là nó nhận các giá trị mặc định là bắt đầu và kết thúc danh sách. Đối với giá trị bước, bạn đã thấy việc sử dụng -1, có nghĩa là quá trình truyền tải phải bắt đầu từ cuối đến đầu danh sách. Hãy xác minh đầu ra bằng cách thực hiện chương trình

 

Bạn có thể thấy rằng danh sách đã được đảo ngược bằng cách sử dụng kỹ thuật cắt danh sách. Đây có lẽ là cách nhanh nhất để đảo ngược danh sách, tuy nhiên, bộ nhớ không hiệu quả vì nó sao chép toàn bộ danh sách

4. Đảo ngược Danh sách bằng vòng lặp for

Có thể sử dụng vòng lặp for đơn giản để đảo ngược danh sách trong Python. Tuy nhiên, đó là cách dễ hiểu nhất; . Hãy xem cách đảo ngược danh sách bằng vòng lặp for

def ReverseList[inputList]

danh sách đảo ngược = []

cho tôi trong phạm vi [0, len [inputList]]

danh sách đảo ngược. append[inputList[len[inputList]- 1 - i]]

trả lại danh sách đảo ngược

inputList = ["Joanna", "Chandler", "Monica", "Joey", "Jessica", "Sarah", "Phoebe", "Rose", "Rachel"]

print["Danh sach ban dau la - ", inputList]

print["Danh sách sau khi đảo ngược là - ", ReverseList[inputList]]

Trong chương trình trên, bạn thấy rằng lần đầu tiên nó tạo một danh sách trống sẽ lưu trữ tất cả các giá trị của danh sách ban đầu theo thứ tự đảo ngược. Có việc sử dụng một vòng lặp đơn giản để duyệt qua tất cả các phần tử của danh sách ban đầu từng cái một. Trong mỗi lần lặp lại, bạn thấy rằng nó đã thêm phần tử vào [ len[inputList] - 1 - i ]. Do đó, đối với phần tử đầu tiên tại chỉ số 0, giá trị này trả về 9 - 1 - 0 = 8 là chỉ số của phần tử cuối cùng, v.v.

Hãy xác minh đầu ra của chương trình này

Đảo ngược một danh sách trong Python bằng cách sử dụng vòng lặp for là một công việc tẻ nhạt so với các phương pháp khác và cũng tiêu tốn rất nhiều bộ nhớ do phải tạo một bản sao của danh sách và đồng thời, độ dài của danh sách cần được tính toán để tăng khả năng thực thi

Khoa học dữ liệu MIỄN PHÍ với khóa học Python

Bắt đầu học Khoa học dữ liệu với Python MIỄN PHÍ Bắt đầu học

5. Đảo ngược Danh sách bằng cách sử dụng Danh sách Hiểu

Khả năng hiểu danh sách trong Python là một kỹ thuật hữu ích giúp bạn tạo một danh sách khác dựa trên các giá trị trong danh sách gốc sau khi thực hiện một số thao tác nhất định trên danh sách gốc. Cú pháp chung của việc hiểu danh sách trong Python là -

danh sách sửa đổi = [biểu thức cho mục trong iterable nếu điều kiện == True]

Nó không sửa đổi danh sách ban đầu mà tạo ra một danh sách mới

Bạn có thể sử dụng khả năng hiểu danh sách để đảo ngược danh sách trong Python. Hãy hiểu điều này với sự giúp đỡ của chương trình dưới đây

def ReverseList[inputList]

ReverseList = [inputList[i] for i in range[len[inputList]-1, -1, -1]]

trả lại danh sách đảo ngược

inputList = ["Joanna", "Chandler", "Monica", "Joey", "Jessica", "Sarah", "Phoebe", "Rose", "Rachel"]

print["Danh sach ban dau la - ", inputList]

print["Danh sách sau khi đảo ngược là - ", ReverseList[inputList]]

Trong chương trình trên, bạn đã thấy việc sử dụng khả năng hiểu danh sách để đảo ngược danh sách. Phạm vi của danh sách bao gồm ba giá trị. Giá trị đầu tiên là giá trị bắt đầu là chỉ số kết thúc của danh sách. Giá trị thứ hai là chỉ số ngay trước chỉ số bắt đầu vì vòng lặp for đi qua một phần tử ngay trước chỉ số kết thúc i. e, không bao gồm chỉ số dừng. Giá trị bước là -1 có nghĩa là quá trình truyền tải phải được thực hiện theo thứ tự ngược lại. Hãy xác minh đầu ra

Khả năng hiểu danh sách tốt hơn so với kỹ thuật vòng lặp for, tuy nhiên, nó vẫn không hiệu quả vì nó tạo ra một danh sách mới và chứa nhiều tính toán hơn bất kỳ phương thức nào khác

Mong muốn chuyển sang lĩnh vực lập trình?

kết thúc

Để kết luận, trong hướng dẫn toàn diện này, bạn đã tìm hiểu danh sách trong Python là gì và các cách khác nhau để bạn có thể đảo ngược danh sách trong Python. Bài viết này đã thảo luận về các kỹ thuật như đảo ngược danh sách bằng cách sử dụng các phương thức đảo ngược [] và đảo ngược [] tích hợp sẵn, cắt danh sách, vòng lặp for và hiểu danh sách. Bạn cũng đã biết cái nào hiệu quả và có thể được sử dụng so với những cái khác.  

Chúng tôi hy vọng rằng bài viết đảo ngược danh sách trong Python này sẽ trang bị cho bạn nhiều kỹ thuật và tìm ra những kỹ thuật tốt nhất cho riêng mình. Nếu bạn có bất kỳ câu hỏi nào cho chúng tôi, hãy để lại trong phần bình luận của bài viết này. Các chuyên gia của chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất

học tập vui vẻ

Giới thiệu về tác giả

đơn giản

Simplilearn là một trong những nhà cung cấp đào tạo trực tuyến hàng đầu thế giới về Tiếp thị kỹ thuật số, Điện toán đám mây, Quản lý dự án, Khoa học dữ liệu, CNTT, Phát triển phần mềm và nhiều công nghệ mới nổi khác

Chủ Đề