Articles of iterador

¿Cuáles son las reglas para la invalidación del iterador?

¿Hay una regla general que todos los módulos siguen? En mi caso , estoy usando la biblioteca xth.etree de Python Digamos que hago esto: for el in root.iter(‘*’): for subel in el: el.remove(subel) ¿Eso rompe el iterador?

Saltando el rendimiento en python

Estoy escribiendo un generator que toma un iterable y un entero n . Por ejemplo, si llamo a mi generador: generator(‘abcdefg’,2) entonces debería dar a , d , g saltándose 2 letras. Cuando llamo a iter(iterable) continuación, utilice el yield next el yield omite automáticamente 1 letra. ¿Cómo le diría a Python que omita el […]

¿Cómo genero todas las permutaciones posibles de Newick Tree para un conjunto de especies dado un grupo externo?

¿Cómo genero todas las permutaciones posibles de Newick Tree para un conjunto de especies dado un grupo externo? Para aquellos que no saben qué es el formato de árbol de Newick, hay una buena descripción disponible en: https://en.wikipedia.org/wiki/Newick_format Quiero crear todas las posibles permutaciones del árbol de Newick para un conjunto de especies dado un […]

¿Cómo hacer que un objeto sea un iterador de Python2 y Python3?

Esta publicación de desbordamiento de stack trata de convertir un objeto en un iterador en Python. En Python 2, eso significa que necesita implementar un __iter__() y un método next() . Pero en Python 3, necesita implementar un método diferente , en lugar de next() necesita implementar __next__() . ¿Cómo se hace un objeto que […]

¿Cómo crear una copia de iterador python?

En Python, intenté crear una copia de mi iterador con el uso de asignación, pero creó una copia del iterador que hace referencia al iterador original. Por ejemplo: my_list = [5, 4, 3,2] first_it = iter(my_list) second_it = first_it print next(first_it ) #it will print 5 print next(second_it) #it will print 4 print next(first_it ) […]

Cómo convertir generador o iterador a la lista de forma recursiva

Quiero convertir generador o iterador a la lista de forma recursiva. Escribí un código a continuación, pero parece ingenuo y feo, y se puede dejar el caso en doctest. Q1. Ayúdame buena versión. Q2. ¿Cómo especificar objeto es inmutable o no? import itertools def isiterable(datum): return hasattr(datum, ‘__iter__’) def issubscriptable(datum): return hasattr(datum, “__getitem__”) def eagerlize(obj): […]

Cómo resolver “iterador debe devolver cadenas, no bytes”

Estoy intentando importar un archivo CSV, usando un formulario para cargar el archivo desde el sistema cliente. Después de tener el archivo, tomaré partes de él y poblaré un modelo en mi aplicación. Sin embargo, recibo un error “el iterador debería devolver cadenas, no bytes” cuando voy a iterar sobre las líneas en el archivo […]

Bucle de Python: comparación idiomática de elementos sucesivos en una lista

Necesito recorrer una lista de objetos, comparándolos así: 0 vs. 1, 1 vs. 2, 2 vs. 3, etc. (Estoy usando pysvn para extraer una lista de diffs.) Terminé justo repitiendo un índice, pero sigo preguntándome si hay alguna forma de hacerlo que sea más idiomática. Es Python; ¿No debería estar usando iteradores de alguna manera […]

Viendo la lista en Java tan elegante como en Python

En Python es bastante fácil mostrar una iterable como una lista separada por comas: >>> iterable = [“a”, “b”, “c”] >>> “, “.join(iterable) ‘a, b, c’ ¿Hay alguna forma de Java que se acerque a esta concisión? (Observe que no hay “,” al final.)

¿Iterador con memoria?

Estoy trabajando en una aplicación que utiliza una cadena de Markov. A continuación se muestra un ejemplo de este código: chain = MarkovChain(order=1) train_seq = [“”,”hello”,”this”,”is”,”a”,”beautiful”,”world”] for i, word in enum(train_seq): chain.train(previous_state=train_seq[i-1],next_state=word) Lo que busco es iterar sobre train_seq, pero mantener los últimos elementos. for states in unknown(train_seq,order=1): # states should be a list of […]