¿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