我正在将一个R脚本翻译成Python,但是我发现Python和R的编码结果不同。
在R中:
> digest('0003bf82df1e0255a352b89d431a831d_NA', algo='xxhash32')
[1] "d6865d43"在Python中:
>>> xxhash.xxh32('0003bf82df1e0255a352b89d431a831d_NA').hexdigest()
'3c0493fd它们都使用相同的算法,并且都使用默认的seed = 0。但是为什么会发生这种情况呢?
任何帮助都将不胜感激!
发布于 2021-04-01 02:56:07
当在重复的实例中传递给相同的随机数生成器时,seed=0只会给出相同的值流。
将seed=0传递给两个不同的随机数生成器将产生不同的值流。
虽然R's random number generator和Python's random number generator在默认情况下都是Mersenne Twister,但底层实现是demonstratively different。
因为随机数的生成依赖于一些底层实现R is not even consistent across versions。在Python2.3之前,它使用了不同的随机数生成器,但是所有当前支持的Python technically isn't either版本都是一致的。
https://stackoverflow.com/questions/66893235
复制相似问题