J'ai fait un shuffle qui peut être réinitialisé (inversé) avec Python

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']

Publicité

Veuillez suivre: golf: @redshoga

Recommended Posts

J'ai fait un shuffle qui peut être réinitialisé (inversé) avec Python
J'ai fait un package qui peut comparer des analyseurs morphologiques avec Python
J'ai fait un module PyNanaco qui peut charger des crédits nanaco avec python
J'ai fait une loterie avec Python.
J'ai créé un démon avec Python
J'ai créé un plug-in qui peut faire "Daruma-san tombé" avec Minecraft
J'ai fait un compteur de caractères avec Python
J'ai fait une carte hexadécimale avec Python
J'ai fait un jeu rogue-like avec Python
J'ai fait un simple blackjack avec Python
J'ai créé un fichier de configuration avec Python
J'ai fait un simulateur de neurones avec Python
[Python] Créez un graphique qui peut être déplacé avec Plotly
[Python] J'ai créé ma propre bibliothèque qui peut être importée dynamiquement
[python] J'ai créé une classe qui peut écrire rapidement une arborescence de fichiers
J'ai fait une prévision météo de type bot avec Python.
J'ai créé une application graphique avec Python + PyQt5
J'ai essayé de créer un bloqueur de filles pourries sur Twitter avec Python ①
[Python] J'ai créé un téléchargeur Youtube avec Tkinter.
J'ai fait un jeu de cueillette avec Python
Made Mattermost Bot avec Python (+ Flask)
[Python] J'ai créé un utilitaire qui peut accéder au type dict comme un chemin
J'ai fait une simple minuterie qui peut être démarrée depuis le terminal
J'ai créé un outil qui facilite un peu la décompression avec CLI (Python3)
J'ai fait un jeu d'éclairage de sapin de Noël avec Python
J'ai fait un blackjack avec du python!
J'ai enregistré PyQCheck, une bibliothèque qui peut effectuer QuickCheck avec Python, dans PyPI.
J'ai créé une application de notification de nouvelles en ligne avec Python
J'ai créé une VM qui exécute OpenCV pour Python
J'ai créé une image Docker qui peut appeler FBX SDK Python à partir de Node.js
Notes sur les connaissances Python utilisables avec AtCoder
J'ai créé un environnement Python3 sur Ubuntu avec direnv.
Un mémo que j'ai touché au magasin de données avec python
J'ai fait un texte Python
J'ai fait un blackjack avec Python.
Une histoire à laquelle j'étais accro après la communication SFTP avec python
J'ai créé wordcloud avec Python.
J'ai créé un package pour filtrer les séries chronologiques avec python
J'ai créé une application de livre simple avec python + Flask ~ Introduction ~
J'ai fait un jeu de puzzle (comme) avec Tkinter of Python
J'ai fait une minuterie pomodoro dure qui fonctionne avec CUI
J'ai étudié le prétraitement qui peut être fait avec PyCaret
Faisons un diagramme sur lequel on peut cliquer avec IPython
Puis-je être un data scientist?
J'ai fait un Line-bot avec Python!
[Python] J'ai créé une fonction qui déchiffre et décrypte AES simplement en le lançant avec pycrypto.
J'ai fait un module qui peut être glitch facilement, mais je ne peux pas passer l'argument de entry_points
[Atcoder] [C ++] J'ai fait un outil d'automatisation de test qui peut être utilisé pendant le concours
J'ai fait un circuit simple avec Python (AND, OR, NOR, etc.)
J'ai créé une bibliothèque qui lit facilement les fichiers de configuration avec Python
Je souhaite utiliser un caractère générique que je souhaite décortiquer avec Python remove
[Python] Un mémo que j'ai essayé de démarrer avec asyncio
J'ai créé un formulaire de tweet Nyanko avec Python, Flask et Heroku
Créez une Spinbox qui peut être affichée en binaire avec Tkinter
J'ai créé beaucoup de fichiers pour la connexion RDP avec Python