Il semble qu'il n'y avait rien qui puisse être réinitialisé avec la lecture aléatoire de Numpy, alors je l'ai fait. S'il vous plaît laissez-moi savoir s'il existe une meilleure façon de l'écrire en premier lieu.
Mélangez avec resettable_shuffle et restaurez avec reset_shuffle.
test.py
import numpy as np
#tableau est une liste unidimensionnelle ordinaire
#Méthode destructrice
def resettable_shuffle(array, seed):
np.random.seed(seed)
np.random.shuffle(array)
#tableau est une liste unidimensionnelle ordinaire
#Méthode non destructive
def reset_shuffle(array, seed):
seq = np.arange(len(array))
np.random.seed(seed)
np.random.shuffle(seq)
tmp = np.c_[seq.T, np.array(array).T]
tmp = np.ndarray.tolist(tmp)
tmp = sorted(tmp)
tmp = np.array(tmp)
return np.ndarray.tolist(tmp[:,1])
seed = 321654
a = ["a","b","c","d","e","f"]
resettable_shuffle(a, seed)
print(a)
a = reset_shuffle(a, seed)
print(a)
Résultat de sortie
['a', 'b', 'c', 'd', 'e', 'f']
['c', 'f', 'd', 'e', 'a', 'b']
['a', 'b', 'c', 'd', 'e', 'f']
Veuillez suivre: golf: @redshoga
Recommended Posts