¿Cuál es la diferencia entre random.sample y random.shuffle en Python?

Tengo una lista a_tot con 1500 elementos y me gustaría dividir esta lista en dos listas de manera aleatoria. La lista a_1 tendría 1300 y la lista a_2 tendría 200 elementos. Mi pregunta es sobre la mejor manera de aleatorizar la lista original con 1500 elementos. Cuando haya aleatorizado la lista, podría tomar una porción con 1300 y otra con 200. Una forma es usar random.shuffle, otra forma es usar random.sample. ¿Alguna diferencia en la calidad de la aleatorización entre los dos métodos? Los datos en la lista 1 deben ser una muestra aleatoria, así como los datos en la lista 2. ¿Alguna recomendación? utilizando shuffle:

random.shuffle(a_tot)    #get a randomized list
a_1 = a_tot[0:1300]     #pick the first 1300
a_2 = a_tot[1300:]      #pick the last 200

usando muestra

new_t = random.sample(a_tot,len(a_tot))    #get a randomized list
a_1 = new_t[0:1300]     #pick the first 1300
a_2 = new_t[1300:]      #pick the last 200

Respuestas a la pregunta(6)

Su respuesta a la pregunta