Hướng dẫn dùng backwards / python

Đúng như ý nghĩa của nó, phương thức list.reverse[] dùng để đảo ngược vị trí của các phần tử trong list. Ví dụ list có 6 phần tử thì sau khi chạy reverse[] thì nó sẽ đảo vị trí của các cặp [5 : 0], [4 : 1], [3 : 2].

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Cú pháp list reverse[]

Dưới đây là cú pháp của phương thức reverse[] trong Python.

list.reverse[]

Phương thức này không có tham số truyền vào và nó cũng không trả về bất kì một giá trị nào cả, nhiệm vụ của nó chỉ đơn giản là đảo ngược vị trí của các phần tử trong list hiện tại.

2. Ví dụ list reverse[]

Sau đây là ví dụ sử dụng phương thức reverse để đảo ngược các phần tử trong List.

Bài viết này được đăng tại [free tuts .net]

# Operating System List
os = ['Windows', 'macOS', 'Linux']
print['Original List:', os]

# List Reverse
os.reverse[]

# updated list
print['Updated List:', os]

Chạy lên kết quả sẽ như sau:

Original List: ['Windows', 'macOS', 'Linux']
Updated List: ['Linux', 'macOS', 'Windows']

Ngoài cách này ra thì ta cũng có thể sử dụng toán tử Slicing.

# Operating System List
os = ['Windows', 'macOS', 'Linux']
print['Original List:', os]

# Reversing a list	
#Syntax: reversed_list = os[start:stop:step] 
reversed_list = os[::-1]

# updated list
print['Updated List:', reversed_list]

Kết quả trả về cũng không khác gì cách ở trên.

Lời kết: Như vậy là bạn đã học xong phương thức list.reverse[], và biết thêm cách sử dụng toán tử Slicing để đảo ngược thứ tự các phần tử trong list.

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:

Copy
orinary_list = [1, 2, 3, 4, 5]

orinary_list.reverse[]
print[orinary_list]
#>> [5, 4, 3, 2, 1]

Tương tự chúng ta sử dụng reverse[] để đảo ngược list trong python phần tử là chuỗi như sau:

Copy
mylist = ['Ali' , 'Bob' , 'Eva' , 'Adam']
mylist.reverse[]
print[mylist]
#>> ['Adam', 'Eva', 'Bob', 'Ali']

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:

Copy
print[org_list.reverse[]]
# None

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:

Copy
l = ['a' , 'b', 'c']

# Cách in sai:
print[l.reverse[]]
#>> None.

# Cách in đúng:
l.reverse[]
print[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 , 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:

Copy
orinary_list = [1, 2, 3, 4, 5]
new_list = orinary_list[::-1]

print[org_list]
print[new_list]
# [1, 2, 3, 4, 5]
# [5, 4, 3, 2, 1]

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ể:

Copy
orginary_list = ['a' , 'b', 'c' , 'd' , 'e']
print[orginary_list]
#>> ['a' , 'b', 'c' , 'd' , 'e']

list_iterator = reversed[orginary_list]
print[list_iterator]
#>>

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:

Copy
for i in list_iterator:
print[i]
#>> e
#>> d
#>> c
#>> b
#>> a

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:

Copy
new_list = list[list_iterator]
print[new_list]
#>>['e', 'd', 'c', 'b', 'a']

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:

Copy
orginary_list = ['a' , 'b', 'c' , 'd' , 'e']
new_list = list[reversed[orginary_list]]

print[orginary_list]
print[new_list]
#>> ['a', 'b', 'c', 'd', 'e']
#>> ['e', 'd', 'c', 'b', 'a']

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

//laptrinhcanban.com/python/nhap-mon-lap-trinh-python/list-trong-python/dao-nguoc-list-python/

Viết bởi Kiyoshi. Đã đăng ký bản quyền tác giả tại Creativecommons và DMCA

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

Profile

Tác giả : Kiyoshi [Chis Thanh]

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.

Chủ Đề