天天看點

随機操作——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)