Iterator trong Python

Iterator trong Python, với chức năng chính là để xử lý mảng, Iterator hỗ trợ chúng ta truy cập vào từng phần tử trong mảng.
seopro

Iterator là các đối tượng cho phép ta lấy từng phần tử của nó, hành động này có thể được lặp đi lặp lại. Trong bài viết này, ptdulieu sẽ cùng bạn sẽ tìm hiểu cách iterator hoạt động trong Python và cách bạn có thể xây dựng trình lặp của riêng mình bằng các phương thức.

Table of Contents

Iterator là gì?

Python Iterators là một đối tượng được sử dụng để lặp qua các đối tượng, chẳng hạn như tuple, list, sets và dictionaries. Nói một cách đơn giản, Iterator trong Python có nghĩa là lặp qua các đối tượng có thể lặp lại.

Chúng ta sử dụng phương thức iter() để khởi tạo đối tượng lặp Python và phương thức next() để lặp.

Hai phương pháp chính của trình lặp Python là: 

  1. iter()
  2. next()

__iter__() - Phương pháp này khởi tạo một trình lặp và trả về một đối tượng Iterator. Nó cho phép sử dụng thể hiện của một đối tượng để lặp.

Cú pháp

myiterator = iter()

__next__() - Phương thức này trả về phần tử tiếp theo trong tập hợp và tạo StopIteration để chỉ ra kết thúc của vòng lặp.

Cú pháp

item = next(myiterator)

Trong Python, chúng ta có thể sử dụng hàm next() để trả về phần tử tiếp theo trong chuỗi.

Chúng ta hãy xem một ví dụ

# define a list
my_list = [4, 7, 0]

# create an iterator from the list
iterator = iter(my_list)

# get the first element of the iterator
print(next(iterator))  # prints 4

# get the second element of the iterator
print(next(iterator))  # prints 7

# get the third element of the iterator
print(next(iterator))  # prints 0

#kết quả: 
4
7
0

Ví dụ về Iterator

Iterator over a string

#Iterator over a string
myString = 'banana'
myit = iter(myString)
print(next(myit))
print(next(myit))
print(next(myit))
print(next(myit))
print(next(myit))
print(next(myit))

#kết quả:
b
a
n
a
n
a

Iterator over a list

#Iterator over a list
mylist = ["apple", "banana", "cherry"]
myit = iter(mylist)
print(next(myit))
print(next(myit))
print(next(myit))

#kết quả:
apple
banana
cherry

Iterator over by tuple

#Iterator over by tuple
mytuple = ("apple", "banana", "cherry")
myit = iter(mytuple)
print(next(myit))
print(next(myit))
print(next(myit))

#kết quả:
apple
banana
cherry

Iterator over by dictionary

#Iterator over by dictionary
mydict = {"color": "blue", "fruit": "apple", "pet": "dog"}
myit = iter(mydict.items())
print(next(myit))
print(next(myit))
print(next(myit))

#kết quả:
('color', 'blue')
('fruit', 'apple')
('pet', 'dog')

Iterator trong Python là một công cụ mạnh mẽ cho phép bạn duyệt qua từng phần tử của một tập hợp một cách linh hoạt và hiệu quả. Bài viết này đã giới thiệu bạn về cách iterator hoạt động và cách sử dụng chúng trong Python

Đăng nhận xét