Python使用random模块生成随机数操作实例详解


Posted in Python onSeptember 17, 2019

本文实例讲述了Python使用random模块生成随机数操作。分享给大家供大家参考,具体如下:

今天在用Python编写一个小程序时,要用到随机数,于是就在网上查了一下关于Python生成各种随机数的方法,现将其总结如下:

此处,利用Python中的random模块生成随机数。因此首先必须导入该模块:import random

一. 随机产生一个元素

import random
#生成一个0到1的随机浮点数: 0 <= n < 1.0
print(random.random())
>>> 0.8296185863491462

#生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。
#如果a > b,则生成的随机数n: a <= n <= b。如果 a <b, 则 b <= n <= a。
#函数原型为:random.uniform(a, b)
print(random.uniform(1, 10))
>>> 8.257312492950838

#生成一个指定范围内的整数。其中参数a是下限,参数b是上限,
#生成的随机数n: a <= n <= b,函数原型为:random.randint(a, b)
#注意:此处要求 a<=b
print(random.randint(1, 10))
>>> 3

#从指定范围内,按指定基数递增的集合中获取一个随机数
#函数原型为:random.randrange(start, stop, step)
#如产生一个0-10的随机数,其步长为2,即[0,2,4,6,8],然后在随机取出一个随机数
print(random.randrange(0, 10, 2))
>>> 2

#从序列中获取一个随机元素。 函数原型为:random.choice(sequence)
#注意:sequence在python不是一种特定的类型,而是泛指一系列的类型;
#注意:list, tuple, 字符串都属于sequence。
print(random.choice( ['apple', 'pear', 'peach', 'orange', 'lemon'] ))
print(random.choice( ('1', '2', '3', '4', '5') ))
print(random.choice( [1, 2, 3, 4, 5] ))
>>> orange
>>> 2
>>> 2

#用于将一个列表中的元素打乱。 函数原型为:random.shuffle(x[, random])
p = ["Python", "is", "powerful", "simple", "and so on..."]
random.shuffle(p)
print(p)
>>> ['Python', 'is', 'simple', 'powerful', 'and so on...']

#从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。
#如果k大于sequence元素个数的话会报错。 函数原型为:random.sample(sequence, k)
list = [1,2,3,4,5,6,7,8,9]
print(random.sample(list, 2))
print(random.sample(list, 5))
>>> [5, 3]
>>> [9, 5, 4, 7, 3]

二.产生一个随机数组

import numpy as np
#例如产生一个随机数组array
#方法一:
a = np.array([2,1,4,5,3,9,6,7,8,0])
print(a)
>>> array([2,1,4,5,3,9,6,7,8,0])

#产生一个(0,1)之间的10维的随机数组
#方法二;
b = np.random.rand(10)
print(b)
>>> array([ 0.43634533, 0.00256198, 0.9252553 , 0.46312913, 0.18253324,
      0.70458872, 0.79719794, 0.18972441, 0.5304701 , 0.11495708])

#产生一个(0,1)之间的10维的随机数组
#方法三;
c = np.random.random(10)
print(c)
>>> array([ 0.62725822, 0.69752737, 0.67910128, 0.32876791, 0.05591991,
      0.71435415, 0.62612756, 0.10492805, 0.45868039, 0.66527572])

#产生一个(0,1)之间的 3*4 的数组矩阵
#方法三;
d = np.random.random(size = (3,4))
print(d)
>>> array([[ 0.81287511, 0.07447028, 0.83052561, 0.69899251],
      [ 0.30087294, 0.24102044, 0.2261788 , 0.7931203 ],
      [ 0.10688122, 0.93165383, 0.02486699, 0.66883373]])

三.随机产生一个list或tuple

import random
#例如随机产生一个指定范围的整数list或tuple
#方法一:
a = [random.randint(0,5) for i in range(20)]
print(a)

#方法二;
for _ in range(10):
  b = random.randint(0,5)
  print(b)

结果为:

[5, 2, 0, 1, 3, 2, 4, 1, 2, 3, 5, 1, 1, 3, 1, 3, 1, 1, 3, 0]
4
2
1
1
3
0
5
4
4
5

Python 相关文章推荐
详解在Python程序中解析并修改XML内容的方法
Nov 16 Python
python模拟Django框架实例
May 17 Python
Python实现命令行通讯录实例教程
Aug 18 Python
django加载本地html的方法
May 27 Python
基于wxPython的GUI实现输入对话框(2)
Feb 27 Python
分析运行中的 Python 进程详细解析
Jun 22 Python
pandas中DataFrame修改index、columns名的方法示例
Aug 02 Python
Python在OpenCV里实现极坐标变换功能
Sep 02 Python
Python从列表推导到zip()函数的5种技巧总结
Oct 23 Python
Python pandas库中的isnull()详解
Dec 26 Python
Python爬虫与反爬虫大战
Jul 30 Python
TensorFlow中tf.batch_matmul()的用法
Jun 02 Python
python同时替换多个字符串方法示例
Sep 17 #Python
python 函数的缺省参数使用注意事项分析
Sep 17 #Python
Python 字符串、列表、元组的截取与切片操作示例
Sep 17 #Python
Python 实现大整数乘法算法的示例代码
Sep 17 #Python
Python对接 xray 和微信实现自动告警
Sep 17 #Python
Python计算两个矩形重合面积代码实例
Sep 16 #Python
详解Python3 pickle模块用法
Sep 16 #Python
You might like
印尼林东PWN黄金曼特宁咖啡豆:怎么冲世界上最醇厚的咖啡冲煮教程
2021/03/03 冲泡冲煮
PHP二维数组排序的3种方法和自定义函数分享
2014/04/09 PHP
PHP切割汉字的常用方法实例总结
2019/04/27 PHP
jquery遍历input取得input的name
2009/04/27 Javascript
JavaScript arguments 多参传值函数
2010/10/24 Javascript
js 控制下拉菜单刷新的方法
2013/03/03 Javascript
jquery实现tr元素的上下移动示例代码
2013/12/20 Javascript
javascript实现存储hmtl字符串示例
2014/04/25 Javascript
JavaScript中使用document.write向页面输出内容实例
2014/10/16 Javascript
JavaScript中的console.trace()函数介绍
2014/12/29 Javascript
javascript图片延迟加载实现方法及思路
2015/12/31 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
2016/01/14 Javascript
AngularJS ng-bind-template 指令详解
2016/07/30 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
Web前端框架bootstrap实战【第一次接触使用】
2016/12/28 Javascript
详解VUE 数组更新
2017/12/16 Javascript
JS实现倒计时图文效果
2018/11/17 Javascript
layui radio点击事件实现input显示和隐藏的例子
2019/09/02 Javascript
Python编程中归并排序算法的实现步骤详解
2016/05/04 Python
Python实现识别手写数字 简易图片存储管理系统
2018/01/29 Python
python多线程扫描端口(线程池)
2019/09/04 Python
opencv中图像叠加/图像融合/按位操作的实现
2020/04/01 Python
英国拳击装备购物网站:RDX Sports
2018/01/23 全球购物
大学生学习党课思想汇报
2014/01/03 职场文书
高三自我评价
2014/02/01 职场文书
国际经济与贸易专业大学生职业规划书
2014/03/01 职场文书
党建示范点实施方案
2014/03/12 职场文书
央视元宵晚会主持串词
2014/03/25 职场文书
网站客服岗位职责
2014/04/05 职场文书
《锄禾》教学反思
2014/04/08 职场文书
2014年旅游局法制宣传日活动总结
2014/11/01 职场文书
先进个人总结范文
2015/02/15 职场文书
第一节英语课开场白
2015/06/01 职场文书
2019年“我为祖国点赞”演讲稿(3篇)
2019/09/26 职场文书
Python利器openpyxl之操作excel表格
2021/04/17 Python
MySQL慢查询的坑
2021/04/28 MySQL