Steven said:
The iter() built-in takes two different forms, the familiar
iter(iterable) we all know and love, and an alternative form:
iter(callable, sentinel)
I've never seen this second form in actual code. Does anyone use it, and
if so, what use-cases do you have?
I found 36 examples (7% of all iter() calls) on my Kubuntu:
/usr/lib/pymodules/python2.6/multiprocessing/pool.py
iter(taskqueue.get, None)
/usr/lib/pymodules/python2.6/multiprocessing/tests.py
iter(self.child_conn.recv, None)
iter(q.get, None)
iter(conn.recv_bytes, SENTINEL)
iter(conn.recv, None)
iter(conn.recv, 'STOP')
/usr/lib/pymodules/python2.6/multiprocessing/examples/mp_workers.py
iter(input.get, 'STOP')
/usr/lib/pymodules/python2.6/pychecker2/util.py
iter(Parents(obj), None)
/usr/lib/pymodules/python2.6/processing/pool.py
iter(inqueue.get, None)
iter(taskqueue.get, None)
iter(get, None)
/usr/lib/pymodules/python2.6/processing/tests/__init__.py
iter(self.child_conn.recv, None)
iter(conn.recvBytes, '')
iter(conn.recv, None)
iter(conn.recv, 'STOP')
/usr/lib/pymodules/python2.6/IPython/Extensions/ipipe.py
iter(self, obj)
iter(self, obj)
iter(self, obj)
/usr/lib/pymodules/python2.6/nose/plugins/multiprocess.py
iter(get, 'STOP')
/usr/lib/pymodules/python2.6/django/db/models/sql/query.py
iter((lambda: cursor.fetchmany(GET_ITERATOR_CHUNK_SIZE)),
self.connection.features.empty_fetchmany_value)
iter((lambda: cursor.fetchmany(GET_ITERATOR_CHUNK_SIZE)), sentinel)
/usr/lib/pymodules/python2.6/httplib2/__init__.py
iter(self, domain)
/usr/lib/pymodules/python2.6/MySQLdb/cursors.py
iter(self.fetchone, None)
/usr/lib/pymodules/python2.6/MoinMoin/server/server_wsgi.py
iter(lambda: fileobj.read(bufsize), '')
/usr/lib/python2.6/mailbox.py
iter(self.readline, "")
iter(self.next, None)
iter(self.next, None)
/usr/lib/python2.6/multiprocessing/pool.py
iter(taskqueue.get, None)
/usr/lib/python2.6/dist-packages/mutagen/id3.py
iter(iter(parts).next, None)
/usr/lib/python2.6/dist-packages/twisted/python/zipstream.py
iter(lambda : self.read(1), "")
/usr/lib/python2.6/dist-packages/twisted/web2/test/test_stream.py
iter(s.read, None)
/usr/lib/python2.6/dist-packages/twisted/test/test_compat.py
iter(IterableCounter(20).next, 10)
/usr/lib/python2.6/dist-packages/setuptools/command/sdist.py
iter(f.readline, '')
/usr/lib/python2.6/dist-packages/lxml/cssselect.py
iter(self.next, None)
/usr/lib/python2.6/dist-packages/bzrlib/smart/protocol.py
iter(_body_decoder.read_next_chunk, None)
/usr/lib/python2.6/dist-packages/bzrlib/tests/test_smart_transport.py
iter(decoder.read_next_chunk, None)
467 36
7.15705765408