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

研究排序问题的时候常常需要生成随机数组来验证自己排序算法的正确性和性能,今天把Python生成随机数组的方法稍作总结,以备以后查看使用。
一、使用random模块生成随机数组
python的random模块中有一些生成随机数字的方法,例如random.randint, random.random, random.uniform, random.randrange,这些函数大同小异,均是在返回指定范围内的一个整数或浮点数,下边简单解释一下这几个函数。
1、random.randint(low, hight) -> 返回一个位于[low,hight]之间的整数
该函数接受两个参数,这两个参数必须是整数(或者小数位是0的浮点数),并且第一个参数必须不大于第二个参数
>>> import random >>> random.randint(1,10) 5 >>> random.randint(1.0, 10.0) 5
2、random.random() -> 不接受参数,返回一个[0.0, 1.0)之间的浮点数
>>> random.random() 0.9983625479554628
3、random.uniform(val1, val2) -> 接受两个数字参数,返回两个数字区间的一个浮点数,不要求val1小于等于val2
>>> 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.*
>>> random.randrange(1, 100, 2) #返回[1,100]之间的奇数 95 >>> random.randrange(100, 1, -2) #返回[100,1]之间的偶数 46
运行效果图如下:
5、生成随机数组
下边我们用random.randint来生成一个随机数组
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
接下来我们就可以用这个函数来生成一个随机的整数序列了
>>> random_int_list(1,100,10) [54, 13, 6, 89, 87, 39, 60, 2, 63, 61]
二、使用numpy.random模块来生成随机数组
1、np.random.rand 用于生成[0.0, 1.0)之间的随机浮点数, 当没有参数时,返回一个随机浮点数,当有一个参数时,返回该参数长度大小的一维随机浮点数数组,参数建议是整数型,因为未来版本的numpy可能不支持非整形参数。
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该函数返回一个样本,具有标准正态分布。
>>> 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)。
>>> 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]。
>>> np.random.random_integers(5) 4
5、np.random.shuffle(x) 类似洗牌,打乱顺序;np.random.permutation(x)返回一个随机排列
>>> 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])
PS:这里再为大家提供两款相关在线工具供大家参考使用:
在线随机数字/字符串生成工具:
http://tools./aideddesign/suijishu
高强度密码生成器:
http://tools./password/CreateStrongPassword
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
# Python
# 生成
# 随机数组
# Python生成随机数的方法
# Python如何生成指定区间中的随机数
# python 生成不重复的随机数的代码
# Python 生成 -1~1 之间的随机数矩阵方法
# python生成指定长度的随机数密码
# 详解用python生成随机数的几种方法
# python3生成随机数实例
# Pytorch随机数生成常用的4种方法汇总
# 浮点数
# 多维
# 进阶
# 操作技巧
# 正态分布
# 是在
# 相关内容
# 还可以
# 第一个
# 可以用
# 中有
# 均为
# 感兴趣
# 这两个
# 数据结构
# 第二个
# 给大家
# 大同小异
# 不做
# 不支持
相关文章:
已有域名和空间如何快速搭建网站?
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
如何用AWS免费套餐快速搭建高效网站?
建站之星2.7模板:企业网站建设与h5定制设计专题
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
如何在Windows服务器上快速搭建网站?
如何通过服务器快速搭建网站?完整步骤解析
制作旅游网站html,怎样注册旅游网站?
如何用y主机助手快速搭建网站?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
家庭服务器如何搭建个人网站?
,网页ppt怎么弄成自己的ppt?
黑客入侵网站服务器的常见手法有哪些?
建站之星如何保障用户数据免受黑客入侵?
如何选择网络建站服务器?高效建站必看指南
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
Python多线程使用规范_线程安全解析【教程】
建站之星×万网:智能建站系统+自助建站平台一键生成
建设网站制作价格,怎样建立自己的公司网站?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
青浦网站制作公司有哪些,苹果官网发货地是哪里?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
如何在云主机上快速搭建多站点网站?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
淘宝制作网站有哪些,淘宝网官网主页?
*服务器网站为何频现安全漏洞?
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
招商网站制作流程,网站招商广告语?
音响网站制作视频教程,隆霸音响官方网站?
怎么将XML数据可视化 D3.js加载XML
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
如何在万网自助建站中设置域名及备案?
高防服务器租用指南:配置选择与快速部署攻略
如何制作网站标识牌,动态网站如何制作(教程)?
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
如何用VPS主机快速搭建个人网站?
如何快速选择适合个人网站的云服务器配置?
英语简历制作免费网站推荐,如何将简历翻译成英文?
建站之星CMS五站合一模板配置与SEO优化指南
香港服务器建站指南:免备案优势与SEO优化技巧全解析
内部网站制作流程,如何建立公司内部网站?
如何用PHP快速搭建高效网站?分步指南
h5在线制作网站电脑版下载,h5网页制作软件?
建站上传速度慢?如何优化加速网站加载效率?
如何在云指建站中生成FTP站点?
Python路径拼接规范_跨平台处理说明【指导】
招贴海报怎么做,什么是海报招贴?
*请认真填写需求信息,我们会在24小时内与您取得联系。