生成随机数组是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生成随机数组的方法,其中包括了两条不同的示例代码进行说明。您可以根据实际情况选择使用。