草庐IT

python - 使用哪个更安全? uuid,binascii.hexlify(os.urandom()) 或 random.SystemRandom()?

我想创建独一无二的和对于自己注册该服务的用户。所以,我一直在寻找相同的东西并想出了这些选项:uuidbinascii.hexlify(os.urandom(x))random.SystemRandom()这是一个愚蠢的问题,但我想知道哪种实现使用起来更安全(有适当的解释)?为什么?使用它比其他人有什么优势?Note:AFAIK,random.SystemRandom()usesos.urandom(x).Socomparisonismainlybetweenuuidandrandom.SystemRandom().这是我到目前为止尝试过的:1)importrandomtemp=rand

python - np.random.seed(int) 和 np.random.seed(array_like) 的区别?

在Python的numpy库中,np.random.seed方法可以接受两种不同类型的参数:int和array_like[int].它们有什么区别?如:np.random.seed(2)和np.random.seed([2013,1,4])。 最佳答案 底层的状态MersenneTwisterPRNG非常大,准确地说是624个32位整数。如果给定一个整数种子,初始化例程将运行一个较小的PRNG以将该单个32位整数扩展为完整的624元素状态。这确实意味着您无法访问绝大多数可能的状态。类似地,如果给定一个整数序列作为种子,那么另一个较小

python random.setstate(), seed() - 是否保证跨实现的结果相同?

是否可以保证带有使用random.setstate()或random.seed()初始化的随机生成器的pyhon2/python3脚本会产生相同的伪随机序列不同的版本和平台?(例如Mac上的python3.1,与Linux64位上的python3.2相同)问题是关于python2和python3,假设python3脚本将在python3解释器上运行,反之亦然。 最佳答案 Python2.3及更高版本使用MersenneTwister生成器,它独立于系统随机函数(作为Python的C扩展模块实现)。对于使用MersenneTwiste

python vs Octave 随机生成器

更具体地说,numpy:In[24]:a=np.random.RandomState(4)In[25]:a.rand()Out[25]:0.9670298390136767In[26]:a.get_state()Out[26]:('MT19937',array([1248735455,...,1532921051],dtype=uint32),2,0,0.0)Octave:octave:17>rand('state',4)octave:18>rand()ans=0.23605octave:19>rand('seed',4)octave:20>rand()ans=0.12852Octav

python - 如何将字符串散列为 [0 :1]? 中的 float

我有一个包含多个字符串的数据集。我想将这些字符串中的每一个关联到一个float,“随机”分布在[0:1]范围内。示例:>>>myfunction(string_1)0.26756754>>>myfunction(string_2)0.86764534random不能满足我的需要,因为它不将任何字符串作为输入/确定性参数。我正在寻找更像哈希函数的东西。 最佳答案 快速便携的解决方案:fromzlibimportcrc32defbytes_to_float(b):returnfloat(crc32(b)&0xffffffff)/2**3

python - 为什么随机抽样与数据集而不是样本量成比例? ( Pandas .sample() 示例)

当我从不同大小的分布中随机抽样时,我惊讶地发现执行时间似乎主要与被抽样的数据集的大小成比例,而不是被抽样的值的数量。示例:importpandasaspdimportnumpyasnpimporttimeastm#generateasmallandalargedatasettestSeriesSmall=pd.Series(np.random.randn(10000))testSeriesLarge=pd.Series(np.random.randn(10000000))sampleSize=10tStart=tm.time()currSample=testSeriesLarge.sa

python - 如何生成具有多个范围的随机整数?

我在从不同的(a,b)集合生成X数量的随机整数时遇到了困惑。例如,我想生成来自(1,5)、(9,15)和(21,27)的5个随机整数。我的代码生成5个随机整数,但仅在21到27之间,而不是其他两个。理想情况下,我希望看到1,4,13,22,25而不是21,21,25,24,27。我的代码:fromrandomimportrandintn=0whilen 最佳答案 不理想,但它有效。首先,它从所有范围中获取随机数,然后(随机)选择一个值。fromrandomimportrandint,choicefor_inrange(5):prin

Python - 绘制大量线条

我正在尝试读取包含线段的XY端点和与线段关联的值的文件,然后绘制由给定值着色的线段。我遇到的问题是可能有数十万到数百万个线段,当我尝试读取这些较大的文件时,我遇到了内存错误。是否有更高效的内存方式来执行此操作?importmatplotlib.pyplotaspltimportmatplotlib.colorsascolorsimportmatplotlib.cmascmximportsysimportcsviflen(sys.argv)>1:flofile=sys.argv[1]else:flofile="GU3\GU3.flo"fig=plt.figure()ax=fig.add_

python - Python 3 的 random.SystemRandom.randint 有错误,还是我使用不正确?

>>>importrandom>>>random.SystemRandom.randint(0,10)Traceback(mostrecentcalllast):File"",line1,inrandom.SystemRandom.randint(0,10)TypeError:randint()missing1requiredpositionalargument:'b'尽管os.urandom,SystemRandom应该给出随机数,randint的工作方式与普通randrange相同:>>>print(random.SystemRandom.randint.__doc__)Retur

python - 使用 tf.set_random_seed 在 Tensorflow 中可重现结果

我正在尝试生成N组独立的随机数。我有一个简单的代码,它显示了3组10个随机数的问题。我注意到即使我使用tf.set_random_seed设置种子,不同运行的结果看起来也不一样。非常感谢任何帮助或评论。(py3p6)bash-3.2$cattest.pyimporttensorflowastfforiinrange(3):tf.set_random_seed(1234)generate=tf.random_uniform((10,),0,10)withtf.Session()assess:b=sess.run(generate)print(b)这是代码的输出:#output:[9.60