Iterables ========= .. topic:: Què són? En Python, un tipus (o classe) iterable és aquell que té associat un iterador. * :py:class:`str`, :py:class:`list`, :py:class:`tuple` i :py:class:`dict` són tipus iterables. També ho és :py:class:`range`. * El tipus :py:class:`file` és un iterador, no un iterable. Efectivament, disposa del mètode :py:meth:`next`, que va generant cada fila d'un fitxer i no permet "tirar enrere", cal tornar a obrir el fitxer. * Per obtenir l'iterador associat a un iterable, cal utilitzar la funció :py:func:`iter`. * Un iterador és també un iterable. Justament, si executem :python:`iter(iterador)` obtindrem el propi iterador. * Podem desar tots els elements d'un iterador en una llista (o una tupla ...), però únicament si sabem que l'iterador genera un nombre petit d'elements. .. danger:: No intenteu mai desar un iterador infinit en una llista (o similar), podeu bloquejar completament l'ordinador. .. rubric:: Exemples: .. literalinclude:: us-iterables.txt :language: python