Itertools question: how to call a function n times?

Wojciech Muła wojciech_mula at
Thu Jul 19 18:16:23 CEST 2007

Matthew Wilson 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))

Use list comprehension:

phrase = [random.choice(wordlist) for i in xrange(random.randint(1, 5))]


More information about the Python-list mailing list