Value Probability
John 3
Peter 2
Paul 1
< /code>
Ich möchte dieses Array mischen, aber die Reihenfolge von der Wahrscheinlichkeit beeinflusst werden. Das heißt, im Durchschnitt sollte John in der Hälfte der Zeit ganz oben auf der Liste erscheinen, Peter in einer dritten Zeit und Paul ein sechstem der Zeit usw.* Die durchschnittliche Reihenfolge über Tausende von Mischungen sollte der oben angegeben sein.John
John
John
Peter
Peter
Paul
< /code>
< /li>
Verschüttet dieses Array, z. B.:
John
Paul
Peter
John
John
Peter
< /code>
< /li>
Entfernen Sie die Duplikate und lassen Sie die erste Instanz: < /p>
John
Paul
Peter
< /code>
< /li>
< /ol>
In PHP -Code könnte dies in etwa so aussehen: < /p>
$items = array(
'John' => 3,
'Peter' => 2,
'Paul' => 1
);
$probabilities = array();
foreach($items as $item => $value){
$interim = array_fill(1, $value, $item);
$probabilities = array_merge($probabilities, $interim);
}
shuffle($probabilities);
$result = array_unique($probabilities);
print("".print_r($result,true)."");
< /code>
Gibt es eine schnellere Möglichkeit, dies zu tun? />Person P1 P2 P3
John 3/6 2/6 1/6
Peter 2/6 2/6 2/6
Paul 1/6 2/6 3/6
< /code>
Beachten Sie, dass die Wahrscheinlichkeiten für den zweiten und dritten Rang aus der Wahrscheinlichkeit für den ersten Rang folgen und in den ursprünglichen Daten nicht explizit angegeben sind. Sie werden hier nur zu Ihrer Bequemlichkeit präsentiert, weil jemand in den Kommentaren unten gefragt wurde.John 3 ← line 1
Peter 2
Paul 1
Simon 6
Robert 2
William 1
...
Sean 1 ← line 786
Ich habe ein Array mit Werten und Wahrscheinlichkeiten (oder in PHP, Tasten und Werten): < /p> [code]Value Probability John 3 Peter 2 Paul 1 < /code> Ich möchte dieses Array mischen, aber die Reihenfolge von der Wahrscheinlichkeit beeinflusst werden. Das heißt, im Durchschnitt sollte John in der Hälfte der Zeit ganz oben auf der Liste erscheinen, Peter in einer dritten Zeit und Paul ein sechstem der Zeit usw.* Die durchschnittliche Reihenfolge über Tausende von Mischungen sollte der oben angegeben sein.John John John Peter Peter Paul < /code> < /li> Verschüttet dieses Array, z. B.: John Paul Peter John John Peter < /code> < /li> Entfernen Sie die Duplikate und lassen Sie die erste Instanz: < /p> John Paul Peter < /code> < /li> < /ol> In PHP -Code könnte dies in etwa so aussehen: < /p> $items = array( 'John' => 3, 'Peter' => 2, 'Paul' => 1 );
print("".print_r($result,true).""); < /code> Gibt es eine schnellere Möglichkeit, dies zu tun? />Person P1 P2 P3 John 3/6 2/6 1/6 Peter 2/6 2/6 2/6 Paul 1/6 2/6 3/6 < /code> Beachten Sie, dass die Wahrscheinlichkeiten für den zweiten und dritten Rang aus der Wahrscheinlichkeit für den ersten Rang folgen und in den ursprünglichen Daten nicht explizit angegeben sind. Sie werden hier nur zu Ihrer Bequemlichkeit präsentiert, weil jemand in den Kommentaren unten gefragt wurde.John 3 ← line 1 Peter 2 Paul 1 Simon 6 Robert 2 William 1 ... Sean 1 ← line 786 [/code]
Ich möchte eine effiziente (effiziente Ausführungszeit optimiert für weniger Ausführungszeit) erstellen, ohne iTertools zu verwenden und nur integrierte Pythonfunktionen und -operatoren usw. (alles...
Ich versuche, die besten Hits in einer Ähnlichkeitsmatrix zu finden (d. H. Eine MXN -Matrix, wobei der Index entlang jeder Achse der ITH -Position in Vektor M und der JTH -Position in Vektor n...
Ich habe versucht, das XLogit -Paket in Python zu einem gemischten Logit -Modell zu verwenden /mixed_logit_model.html#car-dataset
import pandas as pd
import numpy as np
from xlogit import...
Ich versuche, ein einfaches Kartenspiel zu schreiben. Um einen guten Mischungsalgorithmus zu finden, stieß ich auf Jeff Atwoods Beitrag zum Codierungs -Horror. sind nicht gemischt.class MainDeck :...
Ich habe vier Domains - Domain.com, Domain.org, Domain.africa und Domain.net. Alle teilen die gleiche Benutzerbasis von DB und einigen Inhalten. Benutzer können sich registrieren und sich auf jeder...