Articles of generador

Generando números aleatorios ponderados

Hola, estoy haciendo algo de código para una clase de genómica y tengo dificultades en una parte determinada. Tengo un conjunto de eventos mutuamente excluyentes. con probabilidades Quiero simular muestrear aleatoriamente un evento n veces con la probabilidad dada. entrada: probabilidades = {0.3, 0.2, 0.5} eventos {e1, e2, e3} n = 100 salida: debe haber […]

La función “todo” de Python con la expresión del generador condicional devuelve True. ¿Por qué?

¿Alguien puede ayudarme a comprender por qué el siguiente script de Python devuelve True ? x = ” y = all(i == ‘ ‘ for i in x) print(y) Me imagino que es algo que ver con que x sea ​​una entidad de longitud cero, pero no puedo comprender completamente.

Genera un conjunto de números aleatorios ordenados de un rango específico

Me gustaría generar un conjunto de x números aleatorios únicos y ordenarlos en Python. Por ejemplo: rango (1000, 10000) x = 100 Descubrí importar al azar y usar el método random.randrange, luego hacer un bucle para obtener 100 números aleatorios y, al final, ordenarlos. Sin embargo, no sé cómo obtener números únicos (de manera que […]

¿Es sabio usar con sentencias en generadores?

Considere el siguiente código de Python: def values(): with somecontext(): yield 1 yield 2 for v in values(): print(v) break En este caso, ¿Python garantiza que el generador esté correctamente cerrado y, por lo tanto, que se salga del contexto? Me doy cuenta de que, en la práctica, será el caso en CPython debido al […]

¿Cómo ver la salida de impresión del generador antes de finalizar el ciclo?

Estoy intentando imprimir información de depuración dentro de un generador que trabaja con una gran lista de datos. Pero, puedo ver el resultado solo cuando el generador termina. Estoy usando python 3 y mi código es el siguiente: def generator(): while 1: print (‘.’, end=”) time.sleep(1) yield 1 for a in generator(): print (‘|’, end=”) […]

Cambiando el __name__ de un generador

Dada la siguiente configuración: def mapper(f): def wrapper(items): for x in items: yield f(x) wrapper.__name__ = f.__name__ # This has no effect! return wrapper @mapper def double(x): return x * 2 El decorador trabaja como se espera: >>> [x for x in double([1,2,3])] [2, 4, 6] Sin embargo, su __name__ no es el double lo […]

El generador no funciona para dividir la cadena por un identificador particular. Python 2

Hasta ahora he encontrado una forma de dar el nombre, la cadena y la cadena adicional. ¿Funciona para el segundo pero no funciona para el primero? Es tan raro porque los formatos son muy similares. ¿Es porque son líneas múltiples? Pensé que la if line == ‘+’: pass pasaría por alto el problema. Agregué en […]

¿Generador de python Singleton? O, pickle un generador de python?

Estoy usando el siguiente código, con generadores nesteds, para iterar sobre un documento de texto y devolver ejemplos de capacitación usando get_train_minibatch() . Me gustaría persistir (encurtir) los generadores, para poder volver al mismo lugar en el documento de texto. Sin embargo, no se pueden encoger los generadores. ¿Existe una solución alternativa sencilla para poder […]

Cómo dividir un objeto generador o iterador en Python

Me gustaría hacer un bucle sobre un “segmento” de un iterador. No estoy seguro de si esto es posible porque entiendo que no es posible cortar un iterador. Lo que me gustaría hacer es esto: def f(): for i in range(100): yield(i) x = f() for i in x[95:]: print(i) Esto por supuesto falla con: […]

es este generador primos pythonico

¿Es el siguiente código para generar primos pythonic? def get_primes(n): primes=[False,False]+[True]*(n-1) next_p=(i for i,j in enumerate(primes) if j) while True: p=next(next_p) yield p primes[p*p::p]=[False]*((np*p)//p+1) Tenga en cuenta que next (next_p) finalmente generará un error StopIteration que de alguna manera termina la función get_primes. ¿Es tan malo? También tenga en cuenta que next_p es un generador […]