Articles of iterable

¿Cómo encontrar el índice de la vez n un elemento aparece en una lista?

Dado: x = [‘w’, ‘e’, ‘s’, ‘s’, ‘s’, ‘z’,’z’, ‘s’] Cada aparición de s aparece en los siguientes índices: 1: 2 2do: 3 3: 4 4: 7 Si hago x.index(‘s’) obtendré el primer índice. ¿Cómo obtengo el índice de los 4 s ?

Error de Python “solo puede iterable”

Hola mis compañeros progtwigdores. Soy un progtwigdor bastante nuevo, y ahora me enfrento a un gran problema. Estoy recibiendo el error: can only assign an iterable En primer lugar no sé lo que eso significa. En segundo lugar dejaré mi código para que los profesionales lo critiquen: def num_top(int_lis): duplic_int_lis = int_lis int_firs= duplic_int_lis [0] […]

Manera elegante de saltar elementos en un iterable.

Tengo una iterable grande, de hecho, una iterable grande dada por: itertools.permutations(range(10)) Me gustaría acceder al elemento millonésimo. Ya tengo problemas resueltos de diferentes maneras. Casting iterable a la lista y obteniendo 1000000o elemento: return list(permutations(range(10)))[999999] Saltando manualmente elementos hasta 999999: p = permutations(range(10)) for i in xrange(999999): p.next() return p.next() Omisión manual de elementos […]

Cachear un generador

Una pregunta similar reciente ( isinstance (foo, types.GeneratorType) o inspect.isgenerator (foo)? Me dio curiosidad sobre cómo implementar esto de manera genérica. Parece ser una cosa generalmente útil tener, en realidad, tener un objeto de tipo generador que se almacenará en caché la primera vez (como itertools.cycle ), informará sobre StopIteration y luego devolverá los elementos […]

Iteradores en Python 3

En Python 3, muchas funciones (ahora clases) que devolvían listas ahora devuelven iterables, el ejemplo más popular es range . En este caso, el rango se hizo iterable en Python 3 para mejorar el rendimiento y la eficiencia de la memoria (ya que ya no es necesario crear una lista). Otros iterables “nuevos” son map […]

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). […]

Python: mapa en su lugar

Me preguntaba si hay una manera de ejecutar el mapa en algo. La forma en que funciona el mapa es que toma un iterable y aplica una función a cada elemento en ese iterable produciendo una lista. ¿Hay alguna manera de hacer que el mapa modifique el objeto iterable?

¿Cómo implementar “siguiente” para que un objeto de diccionario sea iterable?

Tengo la siguiente envoltura para un diccionario: class MyDict: def __init__(self): self.container = {} def __setitem__(self, key, value): self.container[key] = value def __getitem__(self, key): return self.container[key] def __iter__(self): return self def next(self): pass dic = MyDict() dic[‘a’] = 1 dic[‘b’] = 2 for key in dic: print key Mi problema es que no sé cómo […]

Es el objeto de archivo en Python un iterable

Tengo un archivo “test.txt”: this is 1st line this is 2nd line this is 3rd line el siguiente código lines = open(“test.txt”, ‘r’) for line in lines: print “loop 1:”+line for line in lines: print “loop 2:”+line solo imprime: loop 1:this is 1st line loop 1:this is 2nd line loop 1:this is 3rd line No […]

¿Cómo hacer iterable un objeto personalizado?

Tengo una list de objetos de clase personalizada (la muestra está abajo). Usando: list(itertools.chain.from_iterable(myBigList)) quise “fusionar” todas las stations sublistas en una gran lista. Así que pensé que necesitaba hacer de mi clase personalizada un iterable. Aquí hay una muestra de mi clase personalizada. class direction(object) : def __init__(self, id) : self.id = id self.__stations […]