Articles of iterable

Python __iter__ y para bucles

Como lo entiendo, puedo usar la construcción de bucle for en un objeto con un método __iter__ que devuelve un iterador. Tengo un objeto para el que implemento el siguiente método __getattribute__ : def __getattribute__(self,name): if name in [“read”,”readlines”,”readline”,”seek”,”__iter__”,”closed”,”fileno”,”flush”,”mode”,”tell”,”truncate”,”write”,”writelines”,”xreadlines”]: return getattr(self.file,name) return object.__getattribute__(self,name) Tengo un objeto de esta clase, para el cual sucede lo siguiente: […]

ValueError: literal inválido para float () en Python

A todos: Tengo curiosidad por saber si alguien me puede ayudar a entender el error: ValueError: literal no válido para float (). Obtengo esto cuando paso un archivo de texto a una lista y luego trato de convertir esta lista a valores flotantes. a = open(“input.txt”,”r”) lines = a.readlines() b = map(float, lines) Lo que […]

Python hace que la clase sea iterable devolviéndola incrustada

Tengo una clase en python, que tiene una variable de instancia iterable. Quiero iterar las instancias de la clase iterando sobre el iterable incrustado. Implementé esto de la siguiente manera: def __iter__(self): return self._iterable.__iter__() Realmente no me siento tan cómodo llamando al __iter__() en iterable, ya que es un método especial. ¿Es así como resolvería […]

Emulando la prueba de membresía en Python: delegar __contiene__ a objeto contenido correctamente

Estoy acostumbrado a que Python permite algunos trucos para delegar la funcionalidad a otros objetos. Un ejemplo es la delegación a objetos contenidos. Pero parece que no tengo suerte, cuando quiero delegar __contiene __: class A(object): def __init__(self): self.mydict = {} self.__contains__ = self.mydict.__contains__ a = A() 1 in a Yo obtengo: Traceback (most recent […]

La forma más corta de obtener el primer elemento de `OrderedDict` en Python 3

¿Cuál es la forma más corta de obtener el primer artículo de OrderedDict en Python 3? Mi mejor: list(ordered_dict.items())[0] Bastante largo y feo. Puedo pensar en: next(iter(ordered_dict.items())) # Fixed, thanks Ashwini Pero no es muy autodescriptivo. ¿Alguna sugerencia mejor?

Trozos desiguales en python

Dada una lista de tamaños de trozos, ¿cómo dividiría un iterable en trozos de longitud variable? Estoy tratando de persuadir itertools.islice sin éxito todavía. for chunk_size in chunk_list: foo(iter, chunk_size)

iter () no funciona con datetime.now ()

Un simple fragmento de código en Python 3.6.1: import datetime j = iter(datetime.datetime.now, None) next(j) devoluciones: Traceback (most recent call last): File “”, line 1, in StopIteration En lugar de imprimir el comportamiento clásico de now() con cada next() . He visto un código similar funcionando en Python 3.3, ¿me falta algo o algo ha […]

¿Cómo comprobar si un objeto es iterable en Python?

Posible duplicado: En Python, ¿cómo puedo determinar si un objeto es iterable? ¿Cómo se comprueba si un objeto de Python admite iteración, también conocido como un objeto iterable ( ver definición Idealmente, me gustaría una función similar a isiterable(p_object) devolviendo True o False (modelado después de isinstance(p_object, type) ).

¿Cómo la función incorporada iter () de python convierte una lista de python a un iterador?

He leído mis materiales, que indican que un iterador de Python debe tener los __iter__ y __next__ , pero un iterable solo necesita __iter__ . Reviso una lista y encuentro que no tiene un método __next__ . Cuando se usa iter() en él, se convertirá en un iterador. ¿Esto significa que iter() agregará un método […]

Cómo obtener el recuento de tuplas personalizadas en dos listas

Por favor, ayúdeme a obtener el contador para la lista SS2 en la lista SS1 en PYTHON usando desde el contador de importación de colecciones o cualquier otra forma más rápida SS1 = [(1, 2, 3, 4, 5), (1, 2, 3, 4, 6), (1, 2, 3, 5, 6), (1, 2, 4, 5, 6), (1, 3, […]