numpy.random.randint#

random.randint(low, high=None, size=None, dtype=int)#

傳回從 low(包含)到 high(不包含)的隨機整數。

從指定 dtype 的「離散均勻」分佈,在「半開」區間 [low, high) 中傳回隨機整數。如果 high 為 None(預設值),則結果來自 [0, low)。

注意

新程式碼應改用 integers 方法,該方法屬於 Generator 實例;請參閱〈快速入門〉。

參數:
lowint 或整數的類陣列

從分佈中抽取的最低(signed)整數(除非 high=None,在這種情況下,此參數是高於最高整數的值)。

highint 或整數的類陣列,選填

如果提供,則為從分佈中抽取的最大(signed)整數之上的一個值(如果 high=None,請參閱上面的行為)。如果為類陣列,則必須包含整數值

sizeint 或整數元組,選填

輸出形狀。如果給定的形狀為 (m, n, k),則會抽取 m * n * k 個樣本。預設值為 None,在這種情況下,會傳回單一值。

dtypedtype,選填

結果的所需 dtype。位元組順序必須為原生。預設值為 long。

警告

此函數預設為 C-long dtype,在 Windows 上為 32 位元,在 64 位元平台上則為 64 位元(在 32 位元平台上則為 32 位元)。自 NumPy 2.0 起,NumPy 的預設整數在 32 位元平台上為 32 位元,在 64 位元平台上為 64 位元。這對應於 np.intp。(dtype=int 與大多數 NumPy 函數中的含義不同。)

傳回值:
outint 或整數的 ndarray

來自適當分佈的 size 形狀隨機整數陣列,如果未提供 size,則為單一此類隨機整數。

另請參閱

random_integers

類似於 randint,僅適用於閉區間 [low, high],如果省略 high,則 1 為最小值。

random.Generator.integers

新程式碼應使用此方法。

範例

>>> np.random.randint(2, size=10)
array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0]) # random
>>> np.random.randint(1, size=10)
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

產生一個 2 x 4 的整數陣列,介於 0 到 4 之間(包含)。

>>> np.random.randint(5, size=(2, 4))
array([[4, 0, 2, 1], # random
       [3, 2, 2, 0]])

產生一個 1 x 3 的陣列,具有 3 個不同的上限。

>>> np.random.randint(1, [3, 5, 10])
array([2, 2, 9]) # random

產生一個 1 x 3 的陣列,具有 3 個不同的下限。

>>> np.random.randint([1, 5, 7], 10)
array([9, 8, 7]) # random

使用廣播和 uint8 的 dtype 產生一個 2 x 4 的陣列。

>>> np.random.randint([1, 3, 5, 7], [[10], [20]], dtype=np.uint8)
array([[ 8,  6,  9,  7], # random
       [ 1, 16,  9, 12]], dtype=uint8)