En la documentación de una función de Python, lo encuentro más Pythonic decir:Documentación de Python: ¿iterable muchas veces?
def Foo(i):
"""i: An interable containing…"""
... ... en lugar de
def Foo(i):
"""i: A list of …"""
Cuando i
realmente no tiene que ser un list
. (Foo
operará felizmente en un set
, tuple
, etc.) El problema son los generadores. Los generadores generalmente solo permiten 1 iteración. La mayoría de las funciones de son correctas con generadores o iterables que solo permiten una sola pasada, pero otras no.
Para aquellas funciones que no pueden aceptar generadores/cosas que solo se pueden repetir una vez, ¿hay un término Python claro y consistente para decir "cosa que solo se puede iterar más de una vez"?
El glosario de Python para iterable y iterator parece tener una definición de "una vez, pero quizás más si tiene suerte".
¿Una "colección"? Parece describir todos los tipos de ejemplos aquí. – ephemient
+1 al uso del contenedor, que parece capturar la idea subyacente de la manera más concisa, pero ... ¿No creo que haya visto el "contenedor" utilizado en ninguna documentación de Python? –
Un contenedor es un objeto con un método '__contains __()', que no es ni necesario ni suficiente para un iterable reutilizable. http://docs.python.org/library/collections.html#collections.Container –