将任何字符串转换为整数

2024-04-20 03:01:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我想“创造性地”设定我的随机种子。这就像np.random.seed(42),读过《银河系搭便车指南》的人会得到这个笑话。在

但是我希望能够用一个字符串开始随机种子,例如引文。在

这类似于np.random.seed(str_to_int("I like cake")),为此我需要一个函数,它将整数属性转换为字符串。在

我愿意在我的字符串中只允许字母(如果必须是小写字母),如果这使任务更容易的话。这个函数不一定是随机的,但是除了常数0函数之外,还有其他的函数会更好。在


Tags: to函数字符串np指南random种子like
2条回答

可以使用hash()函数将字符串转换为整数:

print(hash("tata"))

输出:

^{pr2}$

这是一个整数,可以用int作为种子

作为UNIX用户pointed outrandom.seed(..)可以直接接受str。在


来自@theunixman的评论:python散列使用随机化,同一程序的不同运行导致不同的散列:关于它的更多信息可以在

https://docs.python.org/3.3/using/cmdline.html

和param-R(为了兼容性而保留wich-python3.3+默认启用了随机化)。在


底线:

不要对同一个程序的不同运行使用hash(),它会导致不同运行之间的哈希值不同。在

事实证明,至少在Python3中,^{} function can be seeded from a string。在

在Python2中,可以使用CRC of a string,然后是{a3}。在

相关问题 更多 >