Platinum Partner

Weighted Random Choice

From Kevin Parks's recipe

import random

def w_choice(lst):
	n = random.uniform(0, 1)
	for item, weight in lst:
		if n < weight:
			break
		n = n - weight
	return item

Usage, similar to random.choice but must specify probabilities.

>>> x = w_choice( [('one',0.25), ('two',0.25), ('three',0.5)] )

{{ tag }}, {{tag}},

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}
{{ parent.authors[0].realName || parent.author}}

{{ parent.authors[0].tagline || parent.tagline }}

{{ parent.views }} ViewsClicks
Tweet

{{parent.nComments}}