Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Đảo ngược List trong Python: Hướng dẫn từng bước

Bạn đảo ngược list Python dùng reverse() hoặc reversed() tích hợp sẵn. Các phương thức đảo list không tạo list mới. reverse() và reversed() đảo phần tử trong đối tượng list gốc.


Đảo ngược list là phần phổ biến bất kỳ ngôn ngữ lập trình. Trong hướng dẫn này, phân tích các phương pháp đảo list Python hiệu quả nhất.

Giả sử bạn có list tên khách hàng thứ tự bảng chữ cái ngược nhưng muốn xem thứ tự bảng chữ cái. Bạn phải đảo list. Nếu list dài và muốn xem cuối, cuộn xuống. Hoặc đảo để lấy dữ liệu nhanh.

Python List và List Slicing: Ôn tập

Trong Python, list là mảng các mục. List có thể bao gồm chuỗi, boolean, số, đối tượng, hoặc bất kỳ kiểu dữ liệu Python, và chứa bao nhiêu tùy ý. Làm việc nhiều dữ liệu, khai báo list hữu ích thay vì nhiều biến.

List Slicing

Mặc dù không cần biết list slicing để đảo list, nó hữu ích.

Cách khai báo list Python:

studentNames = ["Hannah", "Imogen", "Lewis", "Peter"]

Chúng ta khai báo biến studentNames, gán list giá trị—trường hợp này tên học sinh—cho biến. 

Nếu muốn lấy giá trị cụ thể từ list, dùng số chỉ mục và cắt list. Đó là nhiều thông tin, hãy phân tích. Mỗi mục list có giá trị chỉ mục, bắt đầu 0. Dùng lấy giá trị cụ thể. Đây chỉ mục mảng:

81% người tham gia cho biết họ cảm thấy tự tin hơn về cơ hội việc làm công nghệ sau khi tham gia bootcamp. Được ghép nối với bootcamp ngay hôm nay.

Sinh viên trung bình tốt nghiệp bootcamp mất chưa đến sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được việc đầu tiên.

HannahImogenLewisPeter
123

Nếu muốn lấy Imogen từ list, làm như sau:

studentNames = ["Hannah", "Imogen", "Lewis", "Peter"] print(studentNames[1])

Khai báo biến tên học sinh. Tiếp theo, nói muốn lấy mục chỉ mục 1. Trong trường hợp này, giá trị Imogen.

Chúng ta cũng thay số chỉ mục lấy phạm vi thêm số khác. Ví dụ:

studentNames = ["Hannah", "Imogen", "Lewis", "Peter"] print(studentNames[1:3])

Đầu ra mã:

["Imogen", "Lewis", "Peter"]

Bây giờ biết cơ bản list slicing, bắt đầu thảo luận đảo list Python.

Hướng dẫn Đảo List Python

Ba cách chính đảo list Python:

  • Đảo dùng slicing
  • Đảo dùng Reverse()
  • Đảo dùng Reversed

Đảo dùng Slicing

Cách đầu dùng thủ thuật slicing đảo list. Cú pháp Python:

studentNames = ["Hannah", "Imogen", "Lewis", "Peter"] print(studentNames[::-1])

Đầu ra mã:

["Peter", "Lewis", "Imogen", "Hannah"]

Mã khai báo studentNames, tạo hàm slice đảo list. Cách phổ biến slice list. Nhưng kém hiệu quả vì tạo bản sao list, tốn bộ nhớ. Thêm vào đó, hàm hơi nâng cao so phương pháp khác.

Đảo dùng Reverse()

Tùy chọn hai dùng hàm tích hợp reverse(). Phương thức reverse() gọi đảo nội dung đối tượng list tại chỗ (in-place). Nghĩa là không tạo list mới. Thay vào đó, sửa đổi đối tượng list gốc.

Mã sau cú pháp reverse() hành động:

studentNames = ["Hannah", "Imogen", "Lewis", "Peter"] studentNames.reverse() print(studentNames)

Đầu ra:

["Peter", "Lewis", "Imogen", "Hannah"]

Lưu ý hàm reverse() trả về None. Vì vậy, nếu muốn list sửa đổi, in lại như trên. Cách hiệu quả đảo list không tốn nhiều bộ nhớ, khác ví dụ trước. Cú pháp rõ ràng đơn giản.

Đảo dùng Reversed()

Cách ba dùng hàm reversed(). Hàm tích hợp dùng tạo reverse iterator tạo thứ tự ngược list Python. Nghĩa là list mới không tạo, list cũ không sửa. Thay vào đó, hàm chu kỳ qua tất cả phần tử list và trả về thứ tự ngược.

Cú pháp reversed() hành động:

studentNames = ["Hannah", "Imogen", "Lewis", "Peter"] for i in reversed(studentNames): print(i)

Đầu ra:

"Peter" "Lewis" "Imogen" "Hannah"

Nếu thực sự muốn tạo bản sao đảo list, dùng mã:

studentNames = ["Hannah", "Imogen", "Lewis", "Peter"] list(reversed(studentNames))

Trả về:

["Peter", "Lewis", "Imogen", "Hannah"]

Cách dễ khác đảo list. Rõ ràng chuyện gì xảy ra. List mới tạo bao gồm tất cả giá trị list khác, nhưng đảo. 

Kết luận

Đó là cách các phương pháp đảo list hoạt động. Hướng dẫn khám phá cơ bản list, mảng mục như chuỗi hoặc đối tượng, thảo luận giá trị chỉ mục. Cũng nêu ba phương pháp đảo list.

Tất nhiên, chỉ cần biết một. Nhưng nhận thức cả ba giúp nếu người khác cách khác và dùng trong mã bạn đọc.