numpy.random.randint#

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

返回从 `low`(包含)到 `high`(不包含)的随机整数.

返回指定 dtype 的”离散均匀”分布中的随机整数,在”半开”区间 [low, high) 内.如果 high 为 None(默认值),则结果来自 [0, low).

备注

新代码应使用 Generator 实例的 integers 方法;请参阅 快速开始.

参数:
lowint 或类似数组的 ints

要从分布中抽取的最低(有符号)整数(除非 high=None,在这种情况下,此参数比 最高 这样的整数大一).

highint 或 int 的可迭代对象,可选

如果提供,则高于要从分布中抽取的最大(有符号)整数(如果 high=None,请参见上面的行为).如果是类数组对象,则必须包含整数值

size整数或整数的元组,可选

输出形状.如果给定的形状是,例如,``(m, n, k)``,那么会抽取 m * n * k 个样本.默认是 None,在这种情况下会返回一个单一值.

dtypedtype,可选

期望的结果数据类型.字节顺序必须是本地的.默认值是长整型.

在 1.11.0 版本加入.

警告

此函数默认为 C-long 数据类型,在 Windows 上是 32 位,在 64 位平台上其他情况下是 64 位(在 32 位平台上是 32 位).自 NumPy 2.0 起,NumPy 的默认整数在 32 位平台上是 32 位,在 64 位平台上是 64 位.这对应于 np.intp.(dtype=int 与大多数 NumPy 函数中的不同.)

返回:
outint 或 ints 的 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])

生成一个包含 0 到 4 之间整数的 2 x 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 行 3 列的数组,具有 3 个不同的下界

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

使用 dtype 为 uint8 的广播生成一个 2 行 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)