gpt4 book ai didi

Python生成随机数组的方法小结

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Python生成随机数组的方法小结由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例讲述了Python生成随机数组的方法。分享给大家供大家参考,具体如下:

研究排序问题的时候常常需要生成随机数组来验证自己排序算法的正确性和性能,今天把Python生成随机数组的方法稍作总结,以备以后查看使用.

1、使用random模块生成随机数组 。

python的random模块中有一些生成随机数字的方法,例如random.randint, random.random, random.uniform, random.randrange,这些函数大同小异,均是在返回指定范围内的一个整数或浮点数,下边简单解释一下这几个函数.

1、random.randint(low, hight) -> 返回一个位于[low,hight]之间的整数 。

该函数接受两个参数,这两个参数必须是整数(或者小数位是0的浮点数),并且第一个参数必须不大于第二个参数 。

?
1
2
3
4
5
>>> import random
>>> random.randint( 1 , 10 )
5
>>> random.randint( 1.0 , 10.0 )
5

2、random.random() -> 不接受参数,返回一个[0.0, 1.0)之间的浮点数 。

?
1
2
>>> random.random()
0.9983625479554628

3、random.uniform(val1, val2) -> 接受两个数字参数,返回两个数字区间的一个浮点数,不要求val1小于等于val2 。

?
1
2
3
4
>>> random.uniform( 1 , 5.0 )
2.917249424176132
>>> random.uniform( 9.9 , 2 )
3.4288029275359024

*4、random.randrange(start, stop, step) -> 返回以start开始,stop结束,step为步长的列表中的随机整数,同样,三个参数均为整数(或者小数位为0),若start大于stop时 ,setp必须为负数.step不能是0.* 。

?
1
2
3
4
>>> random.randrange( 1 , 100 , 2 ) #返回[1,100]之间的奇数
95
>>> random.randrange( 100 , 1 , - 2 ) #返回[100,1]之间的偶数
46

运行效果图如下:

Python生成随机数组的方法小结

5、生成随机数组 。

下边我们用random.randint来生成一个随机数组 。

?
1
2
3
4
5
6
7
8
import random
def random_int_list(start, stop, length):
   start, stop = ( int (start), int (stop)) if start < = stop else ( int (stop), int (start))
   length = int ( abs (length)) if length else 0
   random_list = []
   for i in range (length):
     random_list.append(random.randint(start, stop))
   return random_list

接下来我们就可以用这个函数来生成一个随机的整数序列了 。

?
1
2
>>> random_int_list( 1 , 100 , 10 )
[ 54 , 13 , 6 , 89 , 87 , 39 , 60 , 2 , 63 , 61 ]

2、使用numpy.random模块来生成随机数组 。

1、np.random.rand 用于生成[0.0, 1.0)之间的随机浮点数, 当没有参数时,返回一个随机浮点数,当有一个参数时,返回该参数长度大小的一维随机浮点数数组,参数建议是整数型,因为未来版本的numpy可能不支持非整形参数.

?
1
2
3
4
import numpy as np
>>> np.random.rand( 10 )
array([ 0.56911206 , 0.99777291 , 0.18943144 , 0.19387287 , 0.75090637 ,
     0.18692814 , 0.69804514 , 0.48808425 , 0.79440667 , 0.66959075 ])

当然该函数还可以用于生成多维数组,这里不做详述.

2、np.random.randn该函数返回一个样本,具有标准正态分布.

?
1
2
3
>>> np.random.randn( 10 )
array([ - 1.6765704 , 0.66361856 , 0.04029481 , 1.19965741 , - 0.57514593 ,
     - 0.79603968 , 1.52261545 , - 2.17401814 , 0.86671727 , - 1.17945975 ])

3、np.random.randint(low[, high, size]) 返回随机的整数,位于半开区间 [low, high).

?
1
2
>>> np.random.randint( 10 ,size = 10 )
array([ 4 , 1 , 4 , 3 , 8 , 2 , 8 , 5 , 8 , 9 ])

4、random_integers(low[, high, size]) 返回随机的整数,位于闭区间 [low, high].

?
1
2
>>> np.random.random_integers( 5 )
4

5、np.random.shuffle(x) 类似洗牌,打乱顺序;np.random.permutation(x)返回一个随机排列 。

?
1
2
3
4
5
6
>>> arr = np.arange( 10 )
>>> np.random.shuffle(arr)
>>> arr
[ 1 7 5 2 9 4 3 6 0 8 ]
>>>> np.random.permutation( 10 )
array([ 1 , 7 , 4 , 3 , 0 , 9 , 2 , 5 , 8 , 6 ])

希望本文所述对大家Python程序设计有所帮助.

最后此篇关于Python生成随机数组的方法小结的文章就讲到这里了,如果你想了解更多关于Python生成随机数组的方法小结的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com