On Jul 19, 8:35 am, Matthew Wilson <[EMAIL PROTECTED]> wrote: > I want to write a function that each time it gets called, it returns a > random choice of 1 to 5 words from a list of words. > > I can write this easily using for loops and random.choice(wordlist) and > random.randint(1, 5). > > But I want to know how to do this using itertools, since I don't like > manually doing stuff like: > > phrase = list() > for i in random.randint(1, 5): > > phrase.append(random.choice(wordlist))
All the previous suggestions in this thread are good. If you *must* use itertools, you can use the itertools.repeat function to return an object x many times: phrase = [somewords(wordlist) for somewords in itertools.repeat(random.choice, random.randint(1, 5))] Hope it helps, John -- http://mail.python.org/mailman/listinfo/python-list