¿Cómo generar una lista aleatoria de longitud fija de valores de un rango dado?

¿Cómo generar una lista aleatoria (pero única y ordenada) de una longitud determinada determinada fuera de los números de un rango dado en Python?

Algo como eso:

>>> list_length = 4 >>> values_range = [1, 30] >>> random_list(list_length, values_range) [1, 6, 17, 29] >>> random_list(list_length, values_range) [5, 6, 22, 24] >>> random_list(3, [0, 11]) [0, 7, 10] 

Una muestra aleatoria como esta devuelve una lista de elementos únicos de secuencia. No confunda esto con enteros aleatorios en el rango.

 >>> import random >>> random.sample(range(30), 4) [3, 1, 21, 19] 

Una combinación de random.randrange y lista de comprensión funcionaría.

 import random [random.randrange(1, 10) for _ in range(0, 4)]