Articles of iterador de

¿Cuál es la mejor manera de omitir los valores N de la variable de iteración en Python?

En muchos idiomas podemos hacer algo como: for (int i = 0; i < value; i++) { if (condition) { i += 10; } } ¿Cómo puedo hacer lo mismo en Python? Lo siguiente (por supuesto) no funciona: for i in xrange(value): if condition: i += 10 Yo podría hacer algo como esto: i = […]

No sé __iter__ en python, quién me puede dar un buen ejemplo de código

mi código funciona mal class a(object): def __iter(self): return 33 b={‘a’:’aaa’,’b’:’bbb’} c=a() print b.itervalues() print c.itervalues() Por favor, trate de usar el código, en lugar del texto, porque mi inglés no es muy bueno, gracias

¿Cómo leer solo cada segunda línea de archivo?

Necesito leer solo cada segunda línea de un archivo (que es muy grande), así que no quiero usar readlines() . No estoy seguro de cómo implementar el iterador, así que cualquier sugerencia es bienvenida. Una posibilidad es llamar al siguiente () dos veces. No es muy atractivo. with open(pth_file, ‘rw’) as pth: pth.next() for i,row […]

¿Por qué un iterador de Python necesita un método iter que simplemente se devuelva a sí mismo?

Entiendo que la norma dice que sí, pero estoy tratando de encontrar la razón subyacente para esto. Si simplemente siempre vuelve a self ¿cuál es la necesidad de ello? Claramente, siempre tiene acceso al objeto ya que está invocando iter en ese objeto, así que, ¿cuál es la necesidad de tenerlo?

La expresión del generador nunca genera StopIteration

Inspirado por mi propia respuesta , ni siquiera entendía cómo funcionaba yo, considere lo siguiente: def has22(nums): it = iter(nums) return any(x == 2 == next(it) for x in it) >>> has22([2, 1, 2]) False Esperaba que se levantara una StopIteration , ya que al llegar a 2 , a next(it) estaría next(it) avanzaría un […]

¿Cómo escribir un paginador para los iteradores de Python?

Estoy buscando una forma de “recorrer” un iterador de Python. Es decir, me gustaría envolver un iterador iterador y un tamaño de página con otro iterador que devolvería los elementos de iter como una serie de “páginas”. Cada página en sí misma sería un iterador con hasta iteraciones de tamaño de página . Miré a […]

¿Rendimiento de iteradores ordenados en orden ordenado en Python?

¿Hay una mejor manera de combinar / agrupar un grupo de iteradores ordenados en uno para que produzca los elementos ordenados? Creo que el código a continuación funciona, pero siento que hay una forma más limpia y concisa de hacerlo que me estoy perdiendo. def sortIters(*iterables, **kwargs): key = kwargs.get(‘key’, lambda x : x) nextElems […]

Creando mapa de coordenadas 2D en Python

No estoy buscando una solución, estoy buscando una mejor solución o simplemente una forma diferente de hacerlo utilizando algún otro tipo de comprensión de lista o alguna otra cosa. Necesito generar una lista de tuplas de 2 enteros para obtener coordenadas de mapa como [(1, 1), (1, 2), …, (x, y)] Así que tengo los […]

Python: Asignar “a través” de un iterador

Tengo un iterador sobre una secuencia mutable, por ejemplo foo = [1,2,3,4,5] for bar in foo: ¿Hay una manera de escribir a los elementos en foo usando la referencia que está contenida en el iterador? La tarea ingenua: bar = 42 No funciona, por supuesto. ¿Es posible usar la referencia “detrás de la cortina” al […]

¿Una forma elegante y rápida de iterar consecutivamente dos o más contenedores en Python?

Tengo tres collection.deques y lo que debo hacer es recorrer cada uno de ellos y realizar la misma acción: for obj in deque1: some_action(obj) for obj in deque2: some_action(obj) for obj in deque3: some_action(obj) Estoy buscando alguna función XXX que idealmente me permitiría escribir: for obj in XXX(deque1, deque2, deque3): some_action(obj) Lo importante aquí es […]