Python编程实现生成特定范围内不重复多个随机数的2种方法


Posted in Python onApril 14, 2017

本文实例讲述了Python编程实现生成特定范围内不重复多个随机数的2种方法。分享给大家供大家参考,具体如下:

在近期进行的一个实验中,需要将数据按一定比例随机分割为两个部分。这一问题的核心其实就是产生不重复随机数的问题。首先想到的递归的方法,然后才发现Python中居然已经提供了此方法的函数,可以直接使用。具体代码如下:

#生成某区间内不重复的N个随机数的方法
import random;
#1、利用递归生成
resultList=[];#用于存放结果的List
A=1; #最小随机数
B=10 #最大随机数
COUNT=10
#生成随机数的递归数学,参数counter表示当前准备要生成的第几个有效随机数
def generateRand(counter):
  tempInt=random.randint(A,B); # 生成一个范围内的临时随机数,
  if(counter<=COUNT): # 先看随机数的总个数是不是够了,如果不够
    if(tempInt not in resultList): # 再检查当前已经生成的临时随机数是不是已经存在,如果不存在
      resultList.append(tempInt); #则将其追加到结果List中
      counter+=1;# 然后将表示有效结果的个数加1. 请注意这里,如果临时随机数已经存在,则此if不成立,那么将直接执行16行,counter不用再加1
    generateRand(counter); # 不管上面的if是否成立,都要递归。如果上面的临时随机数有效,则这里的conter会加1,如果上面的临时随机数已经存在了,则需要重新再生成一次随机数,counter不能变化
generateRand(1);#调用递归函数,并给当前要生成的有效随机数的个序号置为1,因为要从第一个开始嘛
print(resultList)# 打印结果
#2、利用Python中的randomw.sample()函数实现
resultList=random.sample(range(A,B+1),COUNT); # sample(x,y)函数的作用是从序列x中,随机选择y个不重复的元素。上面的方法写了那么多,其实Python一句话就完成了。
print(resultList)# 打印结果

结果:

Python编程实现生成特定范围内不重复多个随机数的2种方法

Python 相关文章推荐
在Python中利用Pandas库处理大数据的简单介绍
Apr 07 Python
python中xrange用法分析
Apr 15 Python
详解Python中的from..import绝对导入语句
Jun 21 Python
python urllib爬取百度云连接的实例代码
Jun 19 Python
使用Python+Splinter自动刷新抢12306火车票
Jan 03 Python
python中计算一个列表中连续相同的元素个数方法
Jun 29 Python
Python面向对象程序设计之私有属性及私有方法示例
Apr 08 Python
如何通过50行Python代码获取公众号全部文章
Jul 12 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
Aug 12 Python
Python + Flask 实现简单的验证码系统
Oct 01 Python
python实现监控阿里云账户余额功能
Dec 16 Python
在python中修改.properties文件的操作
Apr 08 Python
Python编程判断一个正整数是否为素数的方法
Apr 14 #Python
python编程实现归并排序
Apr 14 #Python
python实现折半查找和归并排序算法
Apr 14 #Python
Python+Wordpress制作小说站
Apr 14 #Python
Python 中 list 的各项操作技巧
Apr 13 #Python
简单的python后台管理程序
Apr 13 #Python
python算法表示概念扫盲教程
Apr 13 #Python
You might like
PHP中“简单工厂模式”实例代码讲解
2012/09/04 PHP
php在数组中查找指定值的方法
2015/03/17 PHP
Yii模型操作之criteria查找数据库的方法
2016/07/15 PHP
PHP经典算法集锦【经典收藏】
2016/09/14 PHP
EasySlider 基于jQuery功能强大简单易用的滑动门插件
2010/06/11 Javascript
JQuery中$之选择器用法介绍
2011/04/05 Javascript
如何将JS的变量值传递给ASP变量
2012/12/10 Javascript
Javascript 完美运动框架(逐行分析代码,让你轻松了运动的原理)
2015/01/23 Javascript
js匿名函数作为函数参数详解
2016/06/01 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
2017/06/20 jQuery
JavaScript实现瀑布流图片效果
2017/06/30 Javascript
vue 挂载路由到头部导航的方法
2017/11/13 Javascript
vue判断input输入内容全是空格的方法
2018/03/02 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
vue.js基于v-for实现批量渲染 Json数组对象列表数据示例
2019/08/03 Javascript
浅谈javascript错误处理
2019/08/11 Javascript
vue element 中的table动态渲染实现(动态表头)
2019/11/21 Javascript
如何在node环境实现“get数据解析”代码实例
2020/07/03 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
vue项目接口域名动态获取操作
2020/08/13 Javascript
JS实现多功能计算器
2020/10/28 Javascript
python实现数组插入新元素的方法
2015/05/22 Python
Python中函数及默认参数的定义与调用操作实例分析
2017/07/25 Python
python 输出上个月的月末日期实例
2018/04/11 Python
python爬虫正则表达式之处理换行符
2018/06/08 Python
python对常见数据类型的遍历解析
2019/08/27 Python
tensorflow基于CNN实战mnist手写识别(小白必看)
2020/07/20 Python
印度最大的酒店品牌网络:OYO Rooms
2016/07/24 全球购物
UNIX文件名称有什么规定
2013/03/25 面试题
教师四风问题整改措施
2014/09/25 职场文书
代领学位证书毕业证书委托书
2014/09/30 职场文书
2014年统战工作总结
2014/12/09 职场文书
2014年学生资助工作总结
2014/12/18 职场文书
个人思想政治总结
2015/03/05 职场文书
Python获取字典中某个key的value
2022/04/13 Python