from itertools import permutations
from itertools import islice


def euler024(n, digits):
    ''' A permutation is an ordered arrangement of objects. For example, 3124 is one 
    possible permutation of the digits 1, 2, 3 and 4. If all of the permutations are 
    listed numerically or alphabetically, we call it lexicographic order. The lexicographic 
    permutations of 0, 1 and 2 are:

    012   021   102   120   201   210

    What is the millionth lexicographic permutation of the digits 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9? 
    
    >>> euler024(2, 3)
    021
    >>> euler024(1000000, 10)
    '2783915460'
    '''
    return ''.join(str(i) for i in islice(permutations(range(digits)), n-1, n).next())
