Articles of iterador

En Python, ¿cómo puedo determinar si un iterable tiene un orden de iteración estable?

En Python, ¿cómo puedo determinar si un iterable tiene un orden de iteración estable? Hay collections.Iterable Clase base abstracta itable pero no hay contraparte estable. La razón por la que pregunto es para poder evitar o advertir a los usuarios cuando pasan (por error) iterable con un orden de iteración inestable ( dict , set […]

iterando una clave en una matriz asociativa multidimensional python

Estoy creando dinámicamente una matriz asociativa bidimensional (¿diccionario?) Estoy tratando de hacer un bucle a través de sus claves, mientras mantengo uno de los índices constantes, así que, por ejemplo, todos los valores asociados a “clave” con “john” en su primer corchete: myhash[‘john’][‘smith’] = “address 1” myhash[‘john’][‘doe’] = “address 2” ¿Cómo puedo obtener todas las […]

Dividir una cadena en segmentos de 2 letras

Tengo una cadena que necesito dividir en partes de 2 letras. Por ejemplo, ‘ABCDXY’ debería convertirse en [‘AB’, ‘CD’, ‘XY’] . El comportamiento en el caso de un número impar de caracteres puede ser completamente arbitrario (verificaré la longitud por adelantado). ¿Hay alguna manera de hacer esto sin un bucle feo?

¿Cuál es la diferencia entre la lista y el iterador en Python?

Estoy leyendo el libro Think Python: Cómo pensar como un científico informático , que dice que en Python 3.x, dict([list of tuples]) devuelve un iterator lugar de una list (como es el caso en Python 2.7). El libro no lo explicó más, lo que me dejó confundido. En particular, me gustaría saber: ¿Cómo son los […]

Filtro de Python / combo máximo: comprobación del iterador vacío

(Utilizando Python 3.1) Sé que esta pregunta se ha preguntado muchas veces para la pregunta general de la prueba si el iterador está vacío; obviamente, no hay una solución clara para eso (supongo que por una razón: un iterador no sabe realmente si está vacío hasta que se le pide que devuelva su siguiente valor). […]

Iterabilidad en Python

Estoy tratando de entender Iterability en Python. Según tengo entendido, __iter__() debe devolver un objeto que tenga el método next() definido, que debe devolver un valor o boost la excepción StopIteration . Así escribí esta clase que satisface ambas condiciones. Pero no parece funcionar. ¿Qué está mal? class Iterator: def __init__(self): self.i = 1 def […]

El objeto ‘numpy.float64’ no es iterable

Estoy tratando de iterar una matriz de valores generados con numpy.linspace: slX = numpy.linspace(obsvX, flightX, numSPts) slY = np.linspace(obsvY, flightY, numSPts) for index,point in slX: yPoint = slY[index] arcpy.AddMessage(yPoint) Este código funcionó bien en la computadora de mi oficina, pero esta mañana me senté a trabajar desde casa en una máquina diferente y surgió este […]

entendiendo la función zip

Toda la discusión es sobre python 3.1.2; ver documentos de Python para la fuente de mi pregunta. Sé lo que hace zip ; Simplemente no entiendo por qué se puede implementar así: def zip(*iterables): # zip(‘ABCD’, ‘xy’) –> Ax By iterables = map(iter, iterables) while iterables: yield tuple(map(next, iterables)) Digamos que llamo zip(c1, c2, c3) […]

¿La forma correcta de restablecer csv.reader para múltiples iteraciones?

Tener un problema con un iterador personalizado en que solo se repetirá sobre el archivo una vez. Estoy llamando a seek(0) en el objeto de archivo relevante entre iteraciones, pero StopIteration se lanza en la primera llamada a next() en la segunda ejecución. Siento que estoy pasando por alto algo obvio, pero apreciaría algunos ojos […]

¿Cómo generar todas las cadenas posibles en python?

Mi objective es poder generar todas las cadenas posibles (letras y números) de longitud x y poder activar un bloque de código para cada una. (como un iterador) El único problema es que los de itertools no hacen copias de la letra en la misma cadena. Por ejemplo: Obtengo “ABC”, “BAC”, “CAB”, etc. en lugar […]