Python iter() tạo đối tượng iterator (lặp), dùng để lặp trên các iterable (có thể lặp). Iterator: đối tượng chứa số lượng giá trị có thể đếm, lặp được trên iterable. Iterable: tập hợp kiểu dữ liệu như list, tuple, string.
Cú pháp: iter(object, sentinel)
- object: bắt buộc. Đối tượng iterable
- sentinel: tùy chọn. Nếu object là callable, lặp dừng khi giá trị trả về bằng sentinel
Iterator object dùng phương thức __next__(). Mỗi lần gọi, trả về phần tử tiếp theo trong luồng iterator.
Ví dụ
list1 = [10, 20] valuesL1 = iter(list1) valuesL1.__next__() # 10 valuesL1.__next__() # 20
Hàm next(): Gọi __next__() thủ công rất rườm rà. Dùng hàm built-in next() nhận iterator object làm tham số, gọi __next__() nội bộ. next() thay thế cho __next__().
Ví dụ
list1 = [10, 20] valuesL1 = iter(list1) next(valuesL1) # 10 next(valuesL1) # 20