18/03/2021, 09:40

Hàm reversed() trong Python

Hàm reversed() là một trong các hàm tích hợp sẵn trong Python, được sử dụng để đảo ngược chuỗi ban đầu trả về iterator. Hàm reversed() có cú pháp ra sao, có những tham số nào, bạn hãy cùng Quantrimang tìm hiểu trong bài viết này nhé. Tìm hiểu về hàm reversed() được tích hợp sẵn trong Python Cú ...

Hàm reversed() là một trong các hàm tích hợp sẵn trong Python, được sử dụng để đảo ngược chuỗi ban đầu trả về iterator. Hàm reversed() có cú pháp ra sao, có những tham số nào, bạn hãy cùng Quantrimang tìm hiểu trong bài viết này nhé.

Tìm hiểu về hàm reversed() được tích hợp sẵn trong PythonTìm hiểu về hàm reversed() được tích hợp sẵn trong Python

Cú pháp hàm reversed() trong Python

reversed(seq)

Các tham số của hàm reversed():

reversed() có duy nhất một tham số:

  • seq: chuỗi bạn muốn đảo ngược.

Chuỗi là đối tượng hỗ trợ các giao thức chuỗi như các phương thức __len __() và __getitem __(). Ví dụ: tuple, string, list, range...

Có thể sử dụng reversed() với bất kỳ đối tượng nào thực thi __reverse__()

Giá trị trả về từ reversed()

Hàm reversed() cho phép ta xử lý các mục theo thứ tự ngược lại chuỗi ban đầu, nhận chuỗi và trả về một iterator với giá trị đảo ngược của chuỗi ban đầu truyền vào.

Ví dụ 1: Sử dụng reversed() với string, tuple, list và range

print( reversed([44, 11, -90, 55, 3]) )

# với string
seq_string = 'Python'
print(list(reversed(seq_string)))

# với tuple
seq_tuple = ('P', 'y', 't', 'h', 'o', 'n')
print(list(reversed(seq_tuple)))

# với range
seq_range = range(5, 9)
print(list(reversed(seq_range)))

# với list
seq_list = [1, 2, 4, 3, 5]
print(list(reversed(seq_list)))

Chạy chương trình, kết quả trả về là:

<list_reverseiterator object at 0x7f6311566eb8>
['n', 'o', 'h', 't', 'y', 'P']
['n', 'o', 'h', 't', 'y', 'P']
[8, 7, 6, 5]
[5, 3, 4, 2, 1]

Ở ví dụ trên, ta đang chuyển đổi kết quả của reversed() thành list bằng cách sử dụng hàm list().

Ví dụ 2: reversed() với các đối tượng tùy chỉnh

class Vowels:
    vowels = ['a', 'e', 'i', 'o', 'u']
    def __reversed__(self):
        return reversed(self.vowels)
v = Vowels()
print(list(reversed(v)))

Chạy chương trình, kết quả trả về là:

['u', 'o', 'i', 'e', 'a']
0