Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
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.
iter(object[, sentinel])
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ệ TypeErrorexception |
| Đố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. |
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.
# 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
u
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
StopIteration
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).
Nguồn tin: Quantrimang.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
5 khóa học AI miễn phí giúp bạn hiểu rõ AI từ con số 0
TOP phần mềm AI hỗ trợ sản xuất âm nhạc tốt nhất
TOP phần mềm AI theo dõi ứng viên tốt nhất cho HR
6 trình tạo logo AI bạn không nên bỏ lỡ
Cách sử dụng Copilot trong Word chi tiết
Cách tổ chức Obsidian vault không sử dụng thư mục
Tính năng trích xuất hình ảnh của Gemini trong Google Photos giúp thư viện ảnh của bạn trở nên hữu ích như thế nào?
Cách sử dụng ChatGPT cho các cuộc họp
Prompt tạo poster phim bằng AI theo từng thể loại
Cách sử dụng ChatGPT miễn phí: Gói miễn phí mang lại những gì trong năm 2026?
Quản lý các nguồn Microsoft IQ trong một agent
NoteGPT AI: Tạo Podcast, tóm tắt tài liệu nhanh chóng
Cách tạo mindmap trên NoteGPT từ tài liệu bất kỳ
Hướng dẫn thiết kế thời khóa biểu cho giáo viên
Cách sử dụng tool đổi màu AI trên Photoshop
Hướng dẫn sử dụng Bing AI mới nhất trên máy tính, điện thoại
Hướng dẫn tạo ảnh nền trò chơi cho PowerPoint
TOP công cụ AI cho giáo viên tiếng Anh tốt nhất
Cách kết nối Google Drive với n8n: hướng dẫn chi tiết từ A đến Z
Hướng dẫn dùng tool remove AI trong Photoshop