Hướng dẫn tất cả cách đảo ngược list trong python. Bạn sẽ học được tất cả cách đảo ngược list trong python bằng cách sử dụng phương thức reverse(), hàm reverse trong python cũng như bằng cách cắt (slice) list python sau bài học này.
Chúng ta có 5 phương pháp để đảo ngược list trong python như sau:
- Phương thức reverse() : đảo ngược list ban đầu trong python
- Cắt (slice) list : Đảo ngược list và tạo ra một list mới
- Hàm reverse trong python : Đảo ngược list và tạo ra một trình lặp
- Sử dụng vòng lặp và hàm insert()
- Sử dụng thư viện NumPy (đối với mảng NumPy)
Chúng ta sẽ cùng tìm hiểu các phương pháp này ở dưới đây:
Đảo ngược list ban đầu trong python| Phương thức reverse()
Phương thức reverse() trong python sẽ đảo ngược thứ tự các phần tử trong list ban đầu. Đây là một quá trình tự phá hủy (Destructive processing) và tái tạo lại list ban đầu với các phần tử theo thứ tự ngược lại.
Chúng ta sử dụng Phương thức reverse() trong python với cú pháp sau đây:
orinary_list . reverse ()
Trong đó orinary_list là list ban đầu cần đảo ngược lại.
Ví dụ, chúng ta dùng Phương thức reverse() để đảo ngược một dãy số trong python như sau:
orinary_list = [1, 2, 3, 4, 5] |
Tương tự chúng ta sử dụng reverse() để đảo ngược list trong python phần tử là chuỗi như sau:
mylist = ['Ali' , 'Bob' , 'Eva' , 'Adam'] |
Lưu ý, sau khi thực hiện phương thức reverse() thì list ban đầu sẽ bị thay đổi, nhưng bản thân phương thức reverse() sẽ trả về giá trị None như sau:
print(org_list.reverse()) |
Nếu không biết kết quả trả về của phương thức reverse() là None, bạn rất dễ mắc lỗi logic trong chương trình. Ví dụ như khi muốn in ra list đảo ngược trong python, thay vì in list đã được đảo ngược bằng reverse() thì bạn lại in ra kết quả của phương thức reverse() như sau:
l = ['a' , 'b', 'c'] |
Đảo ngược list và tạo ra một list mới trong python | Cắt (slice) list
Chúng ta cũng có thể ứng dụng chức năng cắt (slice) list để đảo ngược list trong python.
Nếu chúng ta chỉ định đối số step = -1
khi Cắt (slice) list trong python , list được cắt ra sẽ có thứ tự ngược lại với list ban đầu. Lợi dụng tính chất này, chúng ta có thể đảo ngược list trong python như ví dụ sau:
orinary_list = [1, 2, 3, 4, 5] |
Lưu ý là khác với phương thức reverse() ở trên, khi cắt (slice) list chúng ta sẽ tạo ra một list mới có phần tử ngược lại với list ban đầu, còn bản thân list ban đầu thì không bị thay đổi.
Đảo ngược list và tạo ra trình lặp trong python | hàm reversed trong python
Hàm reversed trong python là một hàm cài đặt sẵn trong python, có chức năng lấy các phần tử trong list chỉ định và tạo ra một trình lặp với thứ tự các phần tử trong đó ngược lại với list ban đầu.
Kết hợp sử dụng hàm list() trong python, chúng ta có thể chuyển trình lặp - kết quả của hàm reversed() thành một list mới, với thứ tự phần tử ngược với list ban đầu.
Chúng ta sử dụng hàm reversed() trong python với cú pháp sau đây:
list_iterator = reversed ( orginary_list )
Trong đó orginary_list là list ban đầu cần đảo thứ tự và list_iterator là trình lặp được tạo ra.
Ví dụ cụ thể:
orginary_list = ['a' , 'b', 'c' , 'd' , 'e'] |
Lưu ý là hàm reversed() sẽ trả về một trình lặp chứ không phải là một list. Do đó khi in trình lặp ra thì kết quả sẽ như ở trên. Để lấy và in ra các phần tử trong trình lặp, chúng ta cần phải dùng vòng lặp for như sau:
for i in list_iterator: |
Kết hợp với hàm list() trong python, chúng ta có thể biến trình lặp ở trên thành một list mới có thứ tự phần tử ngược lại với list ban đầu như sau:
new_list = list(list_iterator) |
Một cách tổng quát, chúng ta đảo ngược list trong python bằng hàm reversed() với cách viết như sau:
orginary_list = ['a' , 'b', 'c' , 'd' , 'e'] |
Sử dụng vòng lặp và hàm insert()
Một cách khác để đảo ngược danh sách là sử dụng vòng lặp và phương thức insert()
. Bạn có thể duyệt qua danh sách ban đầu từ đầu và thêm các phần tử vào một danh sách mới ở vị trí đầu tiên.
Ví dụ:
my_list = [1, 2, 3, 4, 5] |
Kết quả sẽ là danh sách đảo ngược [5, 4, 3, 2, 1]
. Tuy nhiên, phương pháp này có độ phức tạp cao hơn và không nên được sử dụng cho danh sách lớn vì nó có thể làm tăng thời gian thực thi.
Sử dụng thư viện NumPy (đối với mảng NumPy)
Nếu bạn đang làm việc với mảng NumPy thay vì danh sách thông thường, thư viện NumPy cung cấp một cách đơn giản để đảo ngược mảng.
Ví dụ:
import numpy as np |
Kết quả là mảng đảo ngược [5, 4, 3, 2, 1]
.
Tổng kết
Trên đây Kiyoshi đã hướng dẫn bạn cách đảo ngược list trong python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.
Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.
URL Link
https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/list-trong-python/dao-nguoc-list-python/
HOME › python cơ bản - lập trình python cho người mới bắt đầu>>10. list trong python