def dup_factions(factions, num_winners):
    """Expand a list of factions by a factor of num_winners into a list of candidates

    >>> dup_factions(['A', 'B'], 3)
    ['A1', 'A2', 'A3', 'B1', 'B2', 'B3']
    """

    return [f'{f}{n}' for f in factions for n in range(1, num_winners+1)]