wr (Weighted Random)

wr is a weighted random implementation in Python.

wr.choice can be fed both mappings (such as dictionaries) and sequences of pairs containing what to return and a integer representing their respective weight. It returns a the key of in case of mappings based on the weights defined in the key’s corresponding value.

The key can be anything hashable but the weight must be a integer.

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


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


>>> 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.


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


GNU Lesser General Public License



Returns a key of a passed in mapping containing weights in it’s corresponding values. It can also work on a sequence of pairs consisting of (item, weight).

Indices and tables

Project Versions

Table Of Contents

This Page