[pyar] ayuda con un algoritmo, o algo.

John Rowland Lenton john.lenton en canonical.com
Jue Feb 2 14:51:23 ART 2012


Hola!

Tengo un problema de esos que a pyar le encanta, y pensé que lo
compartiría.

Tengo un sistema que me tira una lista de (digamos) seis listas de entre
0 y 10 elementos. Asociado a cada lista tengo un peso, y quiero armar
una lista que tenga 10 elementos tal que el número de elementos de cada
sub-lista original en la lista de salida sea proporcional al número que
traía y al peso, pero que favorezca las minorías (es decir, si una
sublista traía un sólo elemento, que esté todavía representada en la
salida, por más que todas las otras hayan traído 10).

Qué complicado. A ver si con un ejemplo.

Digamos que tengo los pesos [.4, .2, .1, .1, .1, .1]. Si el sistema me
tira [10, 10, 10, 10, 10, 10] elementos en cada lista de entrada,
necesito [4, 2, 1, 1, 1, 1] elementos de cada lista en la lista de
salida. Si me da [10, 0, 10, 1, 0, 10], necesito [5, 0, 2, 1, 0, 2].

Se entiende mejor? Ojalá que sí. Se me ocurre una forma superchancha de
hacer esto con una maroma de ifs que sería una pesadilla de actualizar
si cambian los pesos, pero estoy seguro de que hay una forma fácil,
clara y pitónica de hacerlo bien.

Ideas?
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: no disponible
Type: application/pgp-signature
Size: 489 bytes
Desc: no disponible
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120202/86e1b7dd/attachment.sig>


More information about the pyar mailing list