<div dir="ltr"><div><div>Se ho capito vuoi estrarre dei valori "vals" con le probabilita' "probs".<br></div>Io ho provato cosi':<br><br>import random<br><br></div>#vale: sum(probs) == 1.0<br><div><div>probs = [0.88514, 0.0946, 0.006757, 0.01351]<br>vals  = range(len(probs))<br>t = zip(probs,vals)<br><br>def myrnd():<br>    cs,x = 0,random.random()<br>    for k,v in t:<br>        cs += k<br>        if x <= cs : return v<br>    return v<br><br></div><div>E myrnd ti restituisce 0 con probabilita' 0.88514, <br></div><div>1con prob. 0.0946 eccetera.<br></div><div><br>Per verificare se piu' o meno ci siamo facciamo un milione di prove<br></div><div>e vediamo le le frequenze sono in linea con le probabilita':<br></div><div><br>#Test:<br>dt = dict(zip(vals,[0 for x in vals]))<br>N = 1000000 <br>for n in range(N):<br>    k = myrnd()<br>    dt[k] += 1<br><br>for k,v in dt.items():<br>    print k,(v+0.0)/N<br><br></div><div>e a me da<br>0 0.884842<br>1 0.094789<br>2 0.006818<br>3 0.013551<br><br></div><div>Se confronti con <br></div><div>probs = [0.88514, 0.0946, 0.006757, 0.01351]<br><br></div><div>direi che ci siamo.<br></div><div>Stefano<br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-04-30 13:59 GMT+02:00 Christian Barra <span dir="ltr"><<a href="mailto:barrachri@gmail.com" target="_blank">barrachri@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">A me pare che lei abbia una serie di eventi con probabilità note (il suo vettore)  e gli interessa generare numeri secondo quella distribuzione di probabilità, in pratica generare sample da una funzione di probabilità che ha definito lei. </p>
<p dir="ltr">Credo che il link faccia al caso suo. </p>
<br>_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" rel="noreferrer" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
<br></blockquote></div><br></div>