import random


def raffle(tickets, lots):
    """Run a raffle, producing a list of randomly selected winners.

    Arguments:
    tickets -- a list containing (name, number of tickets purchased) tuples
    lots -- a list of lots available to be won

    Each ticket can only win once, but people purchasing multiple tickets
    can win multiple times.

    There must be at least as many tickets purchased as there are lots.
    """
    return zip(random.sample([x for (x,n) in tickets for i in range(n)], len(lots)), lots)