python实现随机生成数组函数

  • Post category:Python

生成随机数组是Python中常见的需求。下面介绍一些实现方法。

使用random模块生成固定长度随机数组

使用Python中的random模块生成固定长度的随机数组,可以使用以下代码:

import random

def random_array(length):
    return [random.random() for _ in range(length)]

上面代码中我们使用了Python中的列表解析(List comprehension)语法。其中,random.random()函数用来生成一个0-1之间的随机浮点数,而列表解析则生成了一个长度为length的浮点数数组。

使用方式如下:

array = random_array(10)
print(array)

上面代码将输出一个长度为10的随机数组,如:[0.6898887203518834, 0.8696128104558761, 0.563120865978111, 0.8093102585566987, 0.6026674315323748, 0.11125388816342959, 0.43901239888990967, 0.6032593170329859, 0.7254944268054423, 0.27932153306834505]

使用numpy模块生成随机数组

除了使用Python自带的random模块,我们还可以使用numpy模块来生成随机数组,numpy模块提供了更加丰富的随机数生成函数,其生成的数组类型也更加灵活。

下面介绍一些常用的numpy随机数生成函数。

numpy.random.rand函数

函数原型:

numpy.random.rand(d0, d1, ..., dn)

功能:返回一个0到1之间的随机浮点数组成的数组。

示例代码:

import numpy

def random_array(length):
    return numpy.random.rand(length)

array = random_array(10)
print(array)

上面代码将输出一个长度为10的随机数组,如:[0.3797595 0.02339762 0.87431622 0.00427204 0.4252877 0.63926018 0.71207701 0.66937957 0.99420651 0.74337754]

numpy.random.randint函数

函数原型:

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

功能:返回一个由low和high之间的随机整数组成的数组。如果只传入low参数,则返回一个数组,其中元素的范围为 [0, low)。

示例代码:

import numpy

def random_array(length):
    return numpy.random.randint(0, 100, length)

array = random_array(10)
print(array)

上面代码将输出一个长度为10、元素值在0-100之间的随机整数数组,如:[ 7 24 77 20 93 28 21 93 87 44]

除了randint函数,numpy中还有很多其他随机数生成函数,如:numpy.random.standard_normal、numpy.random.normal等,可以根据实际需求选择使用。

至此,我们介绍了两种Python生成随机数组的方法,其中包括了两条不同的示例代码进行说明。您可以根据实际情况选择使用。