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

发布时间 - 2026-01-11 00:39:57    点击率:

本文实例讲述了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)# 打印结果

结果:

PS:这里再为大家提供两款相关在线工具供大家参考使用:

在线随机数字/字符串生成工具:
http://tools./aideddesign/suijishu

高强度密码生成器:
http://tools./password/CreateStrongPassword

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

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


# Python  # 生成  # 随机数  # Python 一句话生成字母表的方法  # 详解Python利用random生成一个列表内的随机数  # python 脚本生成随机 字母 + 数字密码功能  # Python生成随机数的方法  # python 实现快速生成连续、随机字母列表  # 递归  # 进阶  # 操作技巧  # 几个  # 这一  # 相关内容  # 第一个  # 都要  # 多个  # 那么多  # 是从  # 感兴趣  # 数据结构  # 给大家  # 才发现  # 不存在  # 可以直接  # 写了  # 请注意 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: ,交易猫的商品怎么发布到网站上去?  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  如何在服务器上配置二级域名建站?  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  Android GridView 滑动条设置一直显示状态(推荐)  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  Laravel如何为API编写文档_Laravel API文档生成与维护方法  Laravel如何使用查询构建器?(Query Builder高级用法)  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  Laravel如何使用Eloquent进行子查询  如何用景安虚拟主机手机版绑定域名建站?  如何快速搭建自助建站会员专属系统?  phpredis提高消息队列的实时性方法(推荐)  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  如何快速搭建二级域名独立网站?  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  如何在Ubuntu系统下快速搭建WordPress个人网站?  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  Laravel如何处理表单验证?(Requests代码示例)  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  如何快速搭建个人网站并优化SEO?  如何用AWS免费套餐快速搭建高效网站?  浅析上传头像示例及其注意事项  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  网易LOFTER官网链接 老福特网页版登录地址  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  Laravel如何实现本地化和多语言支持?(i18n教程)  个人摄影网站制作流程,摄影爱好者都去什么网站?  Laravel如何生成API文档?(Swagger/OpenAPI教程)  非常酷的网站设计制作软件,酷培ai教育官方网站?  高端企业智能建站程序:SEO优化与响应式模板定制开发  米侠浏览器网页背景异常怎么办 米侠显示修复  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  js实现点击每个li节点,都弹出其文本值及修改  简单实现Android文件上传  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  javascript基于原型链的继承及call和apply函数用法分析  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  JavaScript如何实现错误处理_try...catch如何捕获异常?  PHP 500报错的快速解决方法  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  如何在香港服务器上快速搭建免备案网站?  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  Android仿QQ列表左滑删除操作  如何快速使用云服务器搭建个人网站?