天天看点

随机操作——python的random库和np.random1python自带的random库2需要自己安装的numpy库

1python自带的random库

  1. 随机生成一个n-m之间的整数:

    random.randint(1,10)

  2. 随机生成一个浮点数:

    random.random(),什么参数都不需要给,随机生成一个0到1之间的浮点数;

    random.uniform(1.1,5.4),随机生成一个1.1到5.4之间的浮点数。

  3. 从给定序列中 随机选择一个元素:

    random.choice([98,95,34,45,50]),随机从该序列中选择一个数;

    random.choice(‘tomorrow’),随机从该字符串中选择一个字符。

  4. 随机生成n-m内间隔为k的整数:

    random.randrange(n,m,k)

  5. 随机打乱给定序列

    random.shuffle()

  6. 从长度大于k的序列中随机抽取k个数字

    random.sample(a,k),序列a的长度必须大于k。

a = [1,2,3,4,5] 
random.shuffle(a) # 不可以打乱字符串
print(a):
[3, 6, 7, 1, 5]
           
  1. 随机生成k个n-m之间的整数:

    random.sample(range(n, m), k),注意这里的k必须不能超过m-n,下面的np.random.randint(n,m,k)很好的解决了这个问题。

2需要自己安装的numpy库

  1. 随机生成k个n-m之间的整数:

    np.random.randint(n,m,k)

  2. 随机生成k个浮点数:

    np.random.random(k),随机生成k个0到1之间的浮点数;

    np.random.uniform(n,m,k),随机生成k个n-m之间的浮点数。

  3. 从给定序列中 随机选择k个元素:

    np.random.choice([98,95,34,45,50] , k),随机从该序列中选择k个数,会出现重复的情况;

    测试过了,不可以从一个字符串中随机选择k个字符,有不同意见或者有其他函数欢迎在评论区指出。

  4. 随机打乱给定序列:

    np.random.shuffle(item)

  5. 产生n维的均匀分布的随机数: np.random.rand(d1,d2,d3,…,dn)
  6. 产生n维的正态分布的随机数: np.random.randn(d1,d2,d3,…,dn)