Семена случайных чисел — разница в Python 2 и 3

Нужна помощь в понимании концепции здесь - у меня есть этот код

import random
random.seed(a=57)

def run_round(info):
    random.seed(a=57)
    d = {}
    for i in info:
        performance_value = random.normalvariate(info[i][0], info[i][1])
        d[i] = performance_value
    return d
info = {'abc': (100, 5), 'bcd': (95, 5)}
print(run_round(info))

Теперь, если я запущу эту программу 5 раз в python3, вывод будет -

{'bcd': 86.51389158254244, 'abc': 105.76045089520113}
{'abc': 91.51389158254244, 'bcd': 100.76045089520113}
{'abc': 91.51389158254244, 'bcd': 100.76045089520113}
{'bcd': 86.51389158254244, 'abc': 105.76045089520113}
{'bcd': 86.51389158254244, 'abc': 105.76045089520113}

А в python2 вывод -

{'bcd': 86.51389158254244, 'abc': 105.76045089520113}
{'bcd': 86.51389158254244, 'abc': 105.76045089520113}
{'bcd': 86.51389158254244, 'abc': 105.76045089520113}
{'bcd': 86.51389158254244, 'abc': 105.76045089520113}
{'bcd': 86.51389158254244, 'abc': 105.76045089520113}

5 просто для справки, я хочу сказать, почему существует разница в значениях в python3, если я дал семя, которое в некоторых случаях одинаково.

Изменить - попробовал с random.seed(a=57, version=1) и получил этот результат -

{'abc': 91.51389158254244, 'bcd': 100.76045089520113} 
{'abc': 91.51389158254244, 'bcd': 100.76045089520113} 
{'abc': 91.51389158254244, 'bcd': 100.76045089520113} 
{'bcd': 86.51389158254244, 'abc': 105.76045089520113}                                                 
{'bcd': 86.51389158254244, 'abc': 105.76045089520113}  

Я не понял, почему есть разница в результатах, даже если мой seed остается прежним.


person hyades    schedule 28.11.2014    source источник
comment
Вы читали документацию? Вы можете указать version для seed в 3.x.   -  person jonrsharpe    schedule 28.11.2014
comment
возможный дубликат Почему заполнение случайным генератор не стабилен между версиями Python?   -  person jonrsharpe    schedule 28.11.2014
comment
@jonrsharpe, который, похоже, учитывает изменения в выпуске 3.x, но, похоже, не обеспечивает обратной совместимости с выпусками 2.x.   -  person Charles E. Grant    schedule 08.07.2016
comment
Думаю, проблема также в том, что вы пользуетесь словарем. Что если info это OrderedDict?   -  person jonrsharpe    schedule 08.07.2016