random.randint()與np.random.randint()的區別


先來看看random.randint()方法:

import random
for n in range(5):
    for i in range(10):
        print(random.randint(1,5),end=' ')
    print()
#運行結果
1 5 5 3 3 1 3 1 5 2 
4 4 4 4 4 4 3 1 5 2 
3 2 3 1 1 5 5 1 4 3 
3 4 4 2 5 5 3 4 4 4 
3 5 4 5 4 5 4 5 2 4 
Process finished with exit code 0

再來看看numpy.random.randint()方法

import numpy as np
for n in range(5):
    for i in range(10):
        print(np.random.randint(1, 5), end=' ')
    print()

#運行結果
2 4 1 1 1 1 2 2 2 4 
3 4 3 2 3 4 3 2 2 4 
2 2 1 2 1 1 3 3 3 4 
4 1 4 2 4 1 3 4 3 2 
2 3 3 2 3 4 4 3 4 4 
Process finished with exit code 0
看出有什么不同了嗎? random.randint()方法里面的取值區間是前閉后閉區間,而np.random.randint()方法的取值區間是前閉后開區間,是它們的最大區別。使用的時候一定要注意。
再來詳細看看這兩個方法吧。
random.randint(a,b[,c])
#用於生成一個指定范圍內的整數。其中參數a是下限,參數b是上限,生成的隨機數n: a <= n <= b。c是步幅。
例如:
1)print(random.randint(12, 20)) #生成的隨機數n: 12 <= n <= 20
2)print(random.randint(20, 20)) #結果永遠是20
3)print(random.randint(20, 10)) #該語句是錯誤的。因為下限必須小於上限。
randint.randrange()函數在隨機是不包括上限數的。 摘自


numpy.random.randint(low, high=None, size=None, dtype='l')
#這個方法產生離散均勻分布的整數,這些整數大於等於low,小於high。
low : int        #產生隨機數的最小值
high : int, optional    #給隨機數設置個上限,即產生的隨機數必須小於high
size : int or tuple of ints, optional    #整數,生成隨機元素的個數或者元組,數組的行和列
dtype : dtype, optional    #期望結果的類型

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM