Hàm iter() trong Python
Tiếp tục với chủ đề các hàm tích hợp sẵn trong Python, bài viết sẽ giới thiệu cho các bạn về hàm iter() với cú pháp, cách sử dụng cũng như các ví dụ cụ thể. Mời bạn đọc theo dõi.
Hàm iter() được tích hợp sẵn trong Python, trả về một iterator của đối tượng đã cho.
Đối tượng được tạo ra từ iter() có thể lấy từng phần tử của nó tại mỗi thời điểm nhất định, rất hữu ích khi kết hợp với các vòng lặp for, while.
Cú pháp hàm iter() trong Python:
iter(object[, sentinel])
Đọc thêm: Đối tượng Iterator trong Python
Các tham số của hàm iter()
Hàm iter() có 2 tham số:
object: đối tượng muốn tạo iterator, có thể là set, tuples...sentinel: giá trị đặc biệt được sử dụng để thể hiện phần cuối của chuỗi.
Tùy thuộc vào tham số được truyền, iter() sẽ có những thuộc tính khác nhau như sau:
| Tham số object | Tham số sentinel | Mô tả |
| Bộ đối tượng (set, tuple) | Không có | Tạo iterator cho bộ đối tượng |
| Đối tượng do người dùng xác định (Đối tượng tùy chỉnh - Custom object) | Không có | - thực thi phương thức __iter__() and __next__(). |
| Đối tượng do người dùng xác định (Custom object) không triển khai __iter__(), __next() hoặc __getitem__() | Không có | Sinh ra ngoại lệ TypeError exception |
| Đối tượng Callable | Được cung cấp | Hàm trả về đối tượng iterator có thể gọi đối tượng không có đối số cho mỗi lần gọi đến phương thức __next __() của nó, nếu Sentinel được tìm thấy, ngoại lệ StopIteration exception sẽ được sinh ra. |
Giá trị trả về từ iter()
Hàm iter() trả về đối tượng iterator cho tham số được truyền vào, có thể lặp qua từng phần tử của nó tại mỗi thời điểm nhất định
Trong trường hợp tham số thứ hai sentinel được truyền, hàm trả về đối tượng iterator có thể gọi callable object cho đến khi không tìm thấy ký tự sentinel.
Ví dụ 1: iter() hoạt động như thế nào?
# danh sach nguyen am
# viet boi Quantrimang.com
nguyenam = ['a', 'e', 'i', 'o', 'u']
nguyenamIter = iter(nguyenam)
# in ra 'a'
print(next(nguyenamIter))
# in ra 'e'
print(next(nguyenamIter))
# in ra 'i'
print(next(nguyenamIter))
# in ra 'o'
print(next(nguyenamIter))
# in ra 'u'
print(next(nguyenamIter))Khi bạn chạy chương trình, output trả về sẽ là:
a
e
i
o
uVí dụ 2: iter() hoạt động với custom object
class PrintNumber:
def __init__(self, max):
self.max = max
def __iter__(self):
self.num = 0
return self
def __next__(self):
if(self.num >= self.max):
raise StopIteration
self.num += 1
return self.num
printNum = PrintNumber(3)
printNumIter = iter(printNum)
# in ra '1'
print(next(printNumIter))
# in ra '2'
print(next(printNumIter))
# in ra '3'
print(next(printNumIter))
# sinh ra StopIteration
print(next(printNumIter))Chạy chương trình, kết quả trả về là:
1
2
3
StopIterationVí dụ 3: iter() hoạt động với callable object có sentinel
with open('mydata.txt') as fp:
for line in iter(fp.readline, ''):
processLine(line)Khi bạn chạy chương trình, Python sẽ mở mydata.txt ở chế độ read.
Sau đó, iter(fp.readline, '') trong vòng lặp for gọi readline (đọc từng dòng trong tệp văn bản) cho đến khi tìm thấy ký tự sentinel '' (chuỗi trống).
Xem thêm: Các hàm Python tích hợp sẵn
Bạn nên đọc
-
Kiểu dữ liệu trong Python: chuỗi, số, list, tuple, set và dictionary
-
Hàm range() trong Python
-
Lập trình hướng đối tượng trong Python
-
Hàm map() trong Python
-
Hàm complex() trong Python
-
Làm việc với File trong Python
-
Kế thừa (Inheritance) trong Python
-
Hàm round() trong Python
-
Quản lý File và thư mục trong Python
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:
Cũ vẫn chất
-

4 cách ghim cửa sổ trên màn hình Windows
2 ngày -

Cách khắc phục lỗi Apple CarPlay không hoạt động
2 ngày -

Lệnh cd trong Windows
2 ngày -

Làm sao để tải phụ đề video trên Youtube nhanh chóng và đơn giản?
2 ngày -

Hướng dẫn kết nối máy tính với máy chiếu, kết nối laptop với máy chiếu
2 ngày 2 -

Tổng hợp các trang web lưu trữ dữ liệu trực tuyến miễn phí tốt nhất hiện nay
2 ngày -

6 cách mở Computer/System Properties trong Windows 10
2 ngày -

Mất quyền Admin trên Windows 10, đây là cách khắc phục
2 ngày -

Chụp ảnh và soi gương cái nào sẽ cho bạn hình ảnh chính xác nhất?
2 ngày -

Khắc phục lỗi Google Chrome crash thường xuyên, Chrome tự động tắt
2 ngày
Học IT
Microsoft Word 2013
Microsoft Word 2007
Microsoft Excel 2019
Microsoft Excel 2016
Microsoft PowerPoint 2019
Google Sheets
Lập trình Scratch
Bootstrap
Hướng dẫn
Ô tô, Xe máy