On 2/16/14 9:22 AM, Tim Chase wrote:
3) you meant to write "(10, 'apple')" rather than 0.  With my original
example code, a 0-probability shouldn't ever show up in the sampling,
where it looks like it might when using this sample code. In my
particular use case, I can limit/ensure that 0-probability items never
appear in the list, filtering them upon loading.

Terry didn't state this explicitly, but he restructured your data to have cumulative probabilities.

You had:

  data = (
    ("apple", 20),
    ("orange", 50),
    ("grape", 30),
    )

He turned it into:

  data = [
    (0, 'apple'),
    (0+20, 'orange'),
    (0+20+50, 'grape'),
  ]

Each number is the cumulative probability up to but not including the item.

--
Ned Batchelder, http://nedbatchelder.com

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to