Предположим, у вас есть две функции, подобные этим:
import numpy as np
def function_1(seed):
res = []
np.random.seed(seed)
for i in range(10):
res.append(np.random.rand())
return res
def function_2(seed):
res = []
np.random.seed(seed)
for i in range(10):
a = np.random.rand() # necessary!
res.append(np.random.rand())
return res
Они в основном одинаковы, просто в function_2
вы должны генерировать дополнительное случайное число для каждого запуска цикла for.
Теперь
x = function_1(1)
y = function_2(1)
x == y
>>> False
Однако необходимо убедиться, что возвращенный res
идентичен для обеих функций.Есть ли лучший способ, чем изменить function_1
на следующее?
def function_3(seed):
res = []
np.random.seed(seed)
for i in range(10):
np.random.rand()
res.append(np.random.rand())
return res
Тогда
z = function_3(1)
y == z
>>> True