Estoy tratando de hacer conversiones tipo utilizando un generador, pero quiero pasar al siguiente elemento en el iterador una vez que obtenga un valor exitosamente. Mi intento actual arrojará valores múltiples en los casos donde las expresiones son exitosas:Rendimiento solo una vez por iteración
def type_convert(data):
for item in data:
try:
yield int(item)
except (ValueError, TypeError) as WrongTypeError:
pass
try:
yield float(item)
except (ValueError, TypeError) as WrongTypeError:
pass
yield item
¿Cómo se logra esto?
I' Estoy bastante seguro de que me estoy perdiendo algo, pero ¿cuál es el caso en el que tu elenco 'int' fallará pero tu conversión a' float' tendrá éxito? –
@NolenRoyalty - considere la cadena: ''1.0'' – mgilson
@mgilson que tiene perfecto sentido, gracias: D –