Jesse Noller wrote: <paraphrased> > Once main_list is populated, I want to build a sequence from items > within the lists, "randomly" with a defined percentage of the sequence > coming for the various lists. For example: > 60% from list 1 (main_list[0]), 30% from list 2 (main_list[1]), 10% from list > 3 (main_list[2])
import bisect, random main_list = [['a', 'b', 'c'], ['dog', 'cat', 'panda'], ['blue', 'red', 'green']] weights = [60, 30, 10] cumulative = [] total = 0 for index, value in enumerate(weights): total += value cumulative.append(total) for i in range(20): score = random.random() * total index = bisect.bisect(cumulative, score) print random.choice(main_list[index]), -- -Scott David Daniels [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list