Articles of iterador de

Si un iterador de Python devuelve objetos iterables, ¿cómo puedo encadenar esos objetos en un gran iterador?

Daré un ejemplo simplificado aquí. Supongamos que tengo un iterador en Python, y cada objeto que devuelve este iterador es iterable. Quiero tomar todos los objetos devueltos por este iterador y encadenarlos en un iterador largo. ¿Hay una utilidad estándar para hacer esto posible? Aquí hay un ejemplo artificial. x = iter([ xrange(0,5), xrange(5,10)]) x […]

Enviando StopIteration a for loop desde fuera del iterador

Hay varias formas de romper algunos bucles nesteds Son: 1) usar break-continue for x in xrange(10): for y in xrange(10): print x*y if x*y > 50: break else: continue # only executed if break was not used break 2) utilizar retorno def foo(): for x in range(10): for y in range(10): print x*y if x*y […]

¿Cómo contar elementos no nulos en un iterable?

Estoy buscando una solución Pythonic mejor / más para el siguiente fragmento de código count = sum(1 for e in iterable if e)

¿Existe una forma “de una sola línea” de obtener una lista de claves de un diccionario en orden ordenado?

El método list sort() es una función modificadora que devuelve None . Por eso, si quiero recorrer todas las claves de un diccionario, no puedo hacerlo: for k in somedictionary.keys().sort(): dosomething() En su lugar, debo: keys = somedictionary.keys() keys.sort() for k in keys: dosomething() ¿Hay una manera bonita de recorrer estas claves en orden ordenado […]

__siguiente__ en generadores e iteradores y ¿qué es un envoltorio de métodos?

Estaba leyendo sobre el generador y los iteradores y el papel de __next__() . ‘__next__’ in dir(mygen) . es verdad ‘__next__’ in dir(mylist) , es falso Mientras miraba más adentro, ‘__next__’ in dir (mylist.__iter__()) es verdadero ¿por qué __next__ solo está disponible para la lista pero solo para __iter__() y mygen pero no mylist ? […]

iterador de Python a través del árbol con lista de niños

No entiendo completamente los iteradores de Python, obtuve un objeto con una lista de niños y quiero recorrer esta estructura. Quiero obtener el mismo comportamiento que con la función printall pero con un iterador. class t: def __init__(self, i): self.l = [] self.a = 0 for ii in range(i): self.a = ii self.l.append(t(i-1)) def __iter__(self): […]

Iterador vs Iterable?

(Para Python 3) En los documentos de python, puedes ver que la función list() toma un iterable. En los documentos de Python, también puede ver que la next() función next() toma un iterador. Así que hice esto en IDLE: >>> var = map(lambda x: x+5, [1,2,3]) >>> var >>> next(v) >>> list(v) Lo que da […]

Dividir una cadena en un iterador

¿Python tiene una incorporación (es decir, en las bibliotecas estándar) para hacer una división en cadenas que produce un iterador en lugar de una lista? Tengo en mente trabajar en cadenas muy largas y no necesito consumir la mayor parte de la cadena.

Use iterador como nombre de variable en el bucle de python

Me he estado preguntando si hay una manera de usar un iterador como nombre de variable en un bucle de Python. Por ejemplo, si quisiera crear objetos v0 , v1 , v2 , ¿hay alguna manera de hacer algo como esto: for i in range(3): v + str(i) = i**2 Sé que la syntax es […]

Itinerarios de Python: ¿cómo asignar dinámicamente self.next dentro de una nueva clase de estilo?

Como parte de algún middleware WSGI, quiero escribir una clase de python que envuelva un iterador para implementar un método de cierre en el iterador. Esto funciona bien cuando lo bash con una clase de estilo antiguo, pero lanza un TypeError cuando lo bash con una clase de estilo nuevo. ¿Qué debo hacer para que […]