Skip to content

Pattern: PChoice

Pick a random element from values, weighted by optional weights.

weights and values must be the same length. weights do not need to be normalised.

Arguments

values: A list of values

weights: An optional list of weights, of the same length as values

Example output

>>> p = PChoice([ 0, 1, 10, 11 ])
>>> p.nextn(16)
[11, 1, 0, 10, 1, 11, 1, 0, 11, 1, 11, 1, 1, 11, 11, 1]
>>> p = PChoice([ 1, 11, 111 ], [ 8, 2, 1 ])
>>> p.nextn(16)
[111, 1, 1, 111, 1, 1, 1, 1, 1, 1, 1, 11, 1, 1, 1, 1]