Heim >Backend-Entwicklung >Python-Tutorial >Warum erhalte ich mit demselben Startwert unterschiedliche Zufallszahlen?

Warum erhalte ich mit demselben Startwert unterschiedliche Zufallszahlen?

WBOY
WBOYnach vorne
2024-02-22 12:49:11753Durchsuche

Warum erhalte ich mit demselben Startwert unterschiedliche Zufallszahlen?

Frageninhalt

Ich verwende den Numpy-Zufallszahlengenerator mit dem folgenden MWE:

import numpy as np
np.random.seed(40)
print(np.random.randint(-3, 4))
rng = np.random.default_rng(seed=40)
print(rng.integers(-3, 4))

Ausgabe:

3
0

Warum ist die Ausgabe unterschiedlich?


Richtige Antwort


numpy.random.randintnumpy.random.seed 使用旧的随机 API,其底层实现完全不同。 numpy.random.default_rng Erstellen Sie ein Generatorobjekt, dies ist die neue API.

Diese beiden APIs sind eigentlich zwei völlig unabhängige RNG-Bibliotheken, die sich zufällig im selben Namensraum befinden. Selbst mit demselben Startwert stimmt die Ausgabe nicht überein.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich mit demselben Startwert unterschiedliche Zufallszahlen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen