iter() Get iterator
Last updated: 2026-09-22
iter() Get iterator
iter(obj) returns an iterator; iter(callable, sentinel) returns an iterator that calls callable until it returns sentinel.
| Category | Built-in Functions |
|---|---|
| Kind | Built-in Function |
| Python Version | all |
📝 Syntax
iter(object[, sentinel])
⚙️ Parameters
| object Required | An iterable; must be callable when sentinel is given. |
|---|---|
| sentinel Optional | Sentinel: the callable is repeatedly called until it returns this value.(Default:None) |
Returns:An iterator: obj's iterator, or a callable-driven iterator in the two-arg form.
💥 Raises
TypeError— Raised when object is not iterable and no sentinel is given.
▶ Example
Edit the code, press Run, and see the result in the output panel:
Output:
1 2
🏷️ Related Built-in Functions
💡 Related Cases
More case studies coming soon — check back later.
❓ FAQ
QWhat is the relationship between iter() and next()?
Aiter(obj) obtains the iterator and next(it) fetches elements one by one; a for loop is internally iter() + next().
QWhat is the two-argument form iter(func, sentinel) for?
AIt repeatedly calls func until it returns sentinel, then stops — e.g. iter(lambda: input(), 'quit'), ideal for 'read until the end marker' scenarios.
QWhat kind of objects can be passed to iter()?
AObjects implementing __iter__ (list, dict, str, set, etc.) or the sequence protocol __getitem__; passing an ordinary object like an integer raises a TypeError.
QIs iter() lazy?
AYes. iter() only creates the iterator without actually traversing; values are produced when next() or a for loop runs.