热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python教程分享Python中random函数的用法整理大全

首先我们需要导入random模块 1.random.random():返回随机生成的一个浮点数,范围在[0,1)之间importrandomprint(random.ra

首先我们需要导入random模块 

1. random.random(): 返回随机生成的一个浮点数,范围在[0,1)之间

import random  print(random.random())

Python中random函数的用法整理大全

2. random.uniform(a, b): 返回随机生成的一个浮点数,范围在[a, b)之间

import random  print(random.uniform(1,5))

Python中random函数的用法整理大全

3. random.randint(a,b)生成指定范围内的整数 

import random  print(random.randint(1,10))

Python中random函数的用法整理大全

4. random.randrange([start],stop[,step]):用于从指定范围内按指定基数递增的集合中获取一个随机数。 

例如random.randrange(10,100,2),结果相当于从 [10,12,14,16…96,98] 序列中获取一个随机数。random.randrange (10,100,2) 的结果上与 random.choice(range(10,100,2)) 等效。

import random  print(random.randrange(10,22,3))

Python中random函数的用法整理大全

5. random.choice():从指定的序列中获取一个随机元素

random.choice()从序列中获取一个随机元素,其原型为random.choice(sequence),参数sequence表示一个有序类型。这里说明一下,sequence在python中不是一种特定的类型,而是泛指序列数据结构列表,元组,字符串都属于sequence

import random  print(random.choice('学习python'))   # 从字符串中随机取一个字符  print(random.choice(['good', 'hello', 'is', 'hi', 'boy']))   # 从list列表中随机取  print(random.choice(('str', 'tuple', 'list')))   # 从tuple元组中随机取

Python中random函数的用法整理大全

6. random.shuffle(x[,random]):用于将一个列表中的元素打乱,随机排序

import random  p=['hehe','xixi','heihei','haha','zhizhi','lala','momo..da']  random.shuffle(p)  print(p)  x = [1, 2, 3, 4, 5]  random.shuffle(x)  print(x)

Python中random函数的用法整理大全

7. random.sample(sequence,k):用于从指定序列中随机获取指定长度的片段,sample()函数不会修改原有序列。

import random  list1=[1,2,3,4,5,6,7,8,9,10]  slice=random.sample(list1,5)  print(slice)  #[8, 3, 5, 9, 10]  print(list1)  #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]  x = random.sample(range(0, 10), 5)  print(x, type(x))  #[9, 2, 7, 8, 6]   words = "applekmedoide"  print(random.sample(words, 3))  #['p', 'm', 'a']  print(random.sample(words, 3))  #['d', 'i', 'l']

Python中random函数的用法整理大全

下面的函数需要调用numpy库 

8. np.random.rand(d0, d1, …, dn): 返回一个或一组浮点数,范围在[0, 1)之间

import random  import numpy as np  x = np.random.rand()  y = np.random.rand(4)  print(x,type(x))  #0.09842641570445387   print(y,type(y))  #[0.27298291 0.12350038 0.63977128 0.90791234] 

Python中random函数的用法整理大全

9. np.random.normal(loc=a, scale=b, size=()): 返回满足条件为均值=a, 标准差=b的正态分布(高斯分布)的概率密度随机数

np.random.normal(loc=a, scale=b, size=()) – 返回满足条件为均值=a, 标准差=b的正态分布(高斯分布)的概率密度随机数,size默认为none(返回1个随机数),也可以为int或数组

import random  import numpy as np  x = np.random.normal(10,0.2,2)  print(x,type(x))  #[9.78391585 9.83981096]   y = np.random.normal(10,0.2)  print(y,type(y))  #9.871187751372984   z = np.random.normal(0,0.1,(2,3))  print(z,type(z))  #[[-0.07114831 -0.10258022 -0.12686863]  # [-0.08988384 -0.00647591  0.06990716]]   z = np.random.normal(0,0.1,[2,2])  print(z,type(z))  #[[ 0.07178268 -0.00226728]  # [ 0.06585013 -0.04385656]] 

Python中random函数的用法整理大全

10 np.random.randn(d0, d1, … dn): 返回标准正态分布(均值=0,标准差=1)的概率密度随机数

np.random.randn(d0, d1, … dn): 返回标准正态分布(均值=0,标准差=1)的概率密度随机数,

import random  import numpy as np  x = np.random.randn()  y = np.random.randn(3)  z = np.random.randn(3, 3)  print(x, type(x))  print(y, type(y))  print(z, type(z))

Python中random函数的用法整理大全

11. np.random.standard_normal(size=()): 返回标准正态分布(均值=0,标准差=1)的概率密度随机数

np.random.standard_normal(): 返回标准正态分布(均值=0,标准差=1)的概率密度随机数, size默认为none(返回1个随机数),也可以为int或数组

import random  import numpy as np  x = np.random.standard_normal()  y = np.random.standard_normal(size=(3,3))  print(x, type(x))  print(y, type(y))

Python中random函数的用法整理大全

np.random.rand()与np.random.standard_normal()的方法结果相似,都是返回合符标准正态分布的随机浮点数或数组。

12. np.random.randint(a, b, size=(), dtype=int): 返回在范围在[a, b)中的随机整数(含有重复值)

np.random.randint(a, b, sizie=(), dytpe=int) – size默认为none(返回1个随机数),也可以为int或数组

import random  import numpy as np  # 从序列[0, 10)之间返回shape=(5,5)的10个随机整数(包含重复值)  x = np.random.randint(0, 10, size=(5, 5))  # 从序列[15, 20)之间返回1个随机整数(size默认为none, 则返回1个随机整数)  y = np.random.randint(15, 20)  print(x, type(x))  print(y, type(y))

Python中random函数的用法整理大全

13. random.seed(): 设定随机种子

在设定随机种子为10之后,random.random()的随机数将被直接设定为:0.5714025946899135

import random  random.seed(10)  x = random.random()  print(x,type(x))  random.seed(10)  y = random.random()  print(y,type(y))  z = random.random()  print(z,type(z))

Python中random函数的用法整理大全

random随机数是这样生成的:我们将这套复杂的算法(是叫随机数生成器吧)看成一个黑盒,把我们准备好的种子扔进去,它会返给你两个东西,一个是你想要的随机数,另一个是保证能生成下一个随机数的新的种子,把新的种子放进黑盒,又得到一个新的随机数和一个新的种子,从此在生成随机数的路上越走越远。

我们利用如下代码进行测试:

import numpy as np  if __name__ == '__main__':      i = 0      while i <6:          if i <3:              np.random.seed(0)              print(np.random.randn(1, 5))          else:              print(np.random.randn(1, 5))          i += 1      i = 0      while i <2:          print(np.random.randn(1, 5))          i += 1      print(np.random.randn(2, 5))      np.random.seed(0)      print("###################################")      i = 0      while i <8:          print(np.random.randn(1,5))          i += 1

Python中random函数的用法整理大全

通过该实验我们可以得到以下结论:

  • 两次利用随机数种子后,即便是跳出循环后,生成随机数的结果依然是相同的。第一次跳出while循环后,进入第二个while循环,得到的两个随机数组确实和加了随机数种子不一样。但是,后面的加了随机数种子的,八次循环中的结果和前面的结果是一样的。说明,随机数种子对后面的结果一直有影响。同时,加了随机数种子以后,后面的随机数组都是按一定的顺序生成的。
  • 在同样的随机种子后第六次的随机数生成结果,两行五列的数组和两个一行五列的数组结果相同。说明,在生成多行随机数组时,是由单行随机数组组合而成的。
  • 利用随机数种子,每次生成的随机数相同,就是使后面的随机数按一定的顺序生成。当随机数种子参数为0和1时,生成的随机数和我上面高亮的结果相同。说明该参数指定了一个随机数生成的起始位置。每个参数对应一个位置。并且在该参数确定后,其后面的随机数的生成顺序也就确定了。
  • 随机数种子的参数怎么选择?我认为随意,这个参数只是确定一下随机数的起始位置。

python教程分享Python中random函数的用法整理大全综合参考了如下文章整理: 

  • python中的random用法
  • python random函数
  • python常用random随机函数汇总,用法详解及函数之间的区别
  • 随机种子的理解

总结

到此这篇关于python中random函数用法的文章就介绍到这了,更多相关python random函数用法内容请搜索<编程笔记>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<编程笔记>!

需要了解更多python教程分享Python中random函数的用法整理大全,都可以关注python教程分享栏目&#8212;编程笔记


推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • EzPP 0.2发布,新增YAML布局渲染功能
    EzPP发布了0.2.1版本,新增了YAML布局渲染功能,可以将YAML文件渲染为图片,并且可以复用YAML作为模版,通过传递不同参数生成不同的图片。这个功能可以用于绘制Logo、封面或其他图片,让用户不需要安装或卸载Photoshop。文章还提供了一个入门例子,介绍了使用ezpp的基本渲染方法,以及如何使用canvas、text类元素、自定义字体等。 ... [详细]
  • 十大经典排序算法动图演示+Python实现
    本文介绍了十大经典排序算法的原理、演示和Python实现。排序算法分为内部排序和外部排序,常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。文章还解释了时间复杂度和稳定性的概念,并提供了相关的名词解释。 ... [详细]
  • Python使用Pillow包生成验证码图片的方法
    本文介绍了使用Python中的Pillow包生成验证码图片的方法。通过随机生成数字和符号,并添加干扰象素,生成一幅验证码图片。需要配置好Python环境,并安装Pillow库。代码实现包括导入Pillow包和随机模块,定义随机生成字母、数字和字体颜色的函数。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
author-avatar
Jerl
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有