python的random.random()
方法和random.uniform()
方法有什么区别?
random.random()
的结果是否均匀分布?
import random
print(random.random() * 10)
print(random.uniform(0,10))
答案 0 :(得分:3)
这是random.py
模块中random.uniform
的定义:
def uniform(self, a, b):
return a + (b-a) * self.random()
所以,是的,它是相同的分布。
答案 1 :(得分:0)
根据documentation,当random.uniform(a,b)
返回范围[a,b]或[a,b)中的数字时,a + (b-a) * random()
会返回[0,1.0]范围内的数字,取决于等式print(random.random() * 10)
中的浮点舍入。
因此,print(random.uniform(0,10))
和Numpy: two (3000 * 3000) matrix dot product
MKL:1s / Normal: 2s
Scipy: eigen-decompose (1000 * 1000) matrix
MKL 1.5s / Normal: 1.5s
都可以为您提供相同的分配。