wr (Weighted Random)

wr is a weighted random implementation in Python.

wr.choice can be fed with a mapping (such as dictionaries) containing a returnable (what to return) and a integer representing their respective weight. The key can be anything hashable but the weight must be a integer.

Optionally you may feed wr.choice with a sequence of pairs.

Functions

wr.choice(data)

The main implementation of weighted random choice. (based on inplace algorithm)

Args:
data (Mapping or sequence of pairs) in the form of: (returnable, weight)
Returns:
For a mapping: A key of the passed in mapping. For a sequence of pairs: [0] (the first position) of a pair.

Usecase:

>>> print wr.choice({"hello": 80, "world": 20})
hello

Example

>>> import wr

>>> data = {'cat': 60, 'dog': 30, 'bird': 10}
>>> animal = wr.choice(data)
>>> print animal
cat # well, the cat had a good 60% shot at it.

Structures

{something_to_return: weight, something_else_to_return: weight}
# Or as a sequence:
[(something_to_return, weight), (something_else_to_return, weight)]

Installation

Install wr with pip install wr or just download wr.py and place it in your project directory.

License

BSD

Project Versions

Table Of Contents

This Page