python中的随机函数(random)

时间:2024-03-02 17:39:55

1、python中的random函数

  random() 方法返回随机生成的一个实数,它在[0,1)范围内

  语法:

import random
random.random()

  randint函数,返回指定范围的一个随机整数,包含上下限

 

  

import random
random.randint(0,99)#返回0~99之间的整数

  randrange函数,randrange(0,101,2)可以用来选曲0~100之间的偶数

 

2、random.seed(int)

  • 给随机数对象一个种子值,用于产生随机序列。
  • 对于同一个种子值的输入,之后产生的随机数序列也一样。
  • 通常是把时间秒数等变化值作为种子值,达到每次运行产生的随机系列都不一样
  • seed() 省略参数,意味着使用当前系统时间生成随机数
random.seed(10)
print random.random()   #0.57140259469
random.seed(10)
print random.random()   #0.57140259469  同一个种子值,产生的随机数相同
print random.random()   #0.428889054675
 
random.seed()           #省略参数,意味着取当前系统时间
print random.random()
random.seed()
print random.random()

3、 random.uniform(u,sigma)

  • 随机正态浮点数

  

print random.uniform(1,5)

4、random.randrange(start,stop,step)

  • 按步长随机在上下限范围内取一个随机数
print random.randrange(20,100,5)

5、随机选择字符

  • 随机的选取n个字符

  

print(random.sample(\'abcdefghijk\',3))
  • 随机的选取一个字符

  

print(random.choice(\'af/fse.faek``fs\'))
  • 随机选取几个字符,再拼接成新的字符串

  

print string.join(random.sample(\'abcdefhjk\',4)).replace(" ","")

6、random.shuffle

  • 对list列表随机打乱顺序,也就是洗牌
  • shuffle只作用于list,对Str会报错比如‘abcdfed’,而[\'1\',\'2\',\'3\',\'5\',\'6\',\'7\']可以

  

item=[1,2,3,4,5,6,7]
print item
random.shuffle(item)
print item
 
item2=[\'1\',\'2\',\'3\',\'5\',\'6\',\'7\']
print item2
random.shuffle(item2)
print item2

7、numpy模块中的randn和rand函数

  numpy.random.randn(d0,d1,...,dn),正太随机

  numpy.random.rand(d0,d1,...,dn),选择[0,1]范围内的随机数

  

In [55]: import numpy

In [56]: numpy.random.randn(2,3)
Out[56]:
array([[ 1.62434536, -0.61175641, -0.52817175],
       [-1.07296862,  0.86540763, -2.3015387 ]])

In [57]: numpy.random.rand(2,3)
Out[57]:
array([[0.41919451, 0.6852195 , 0.20445225],
       [0.87811744, 0.02738759, 0.67046751]])