python之中可以使用random模块去生成指定范围内的随机整数或者是浮点数 , 但是当范围过大的时候就无法保证每一次随机生成的数据都是不重复的 。那这一篇文章就带来生成不重复随机数的方法 , 往下看看吧 。
文章插图
在python之中使用random去生成1-10之间的20个随机数那肯定就是会出现重复的值 , 那么如果只是使用range()函数去生成1-20这个二十个数字的话就不会有重复 。那在random模块之中有一个方法叫做sample , 它可以去获取一个序列之中不重复的几个值并将其取出来放在一个新列表内 。
sample的语法为random.sample(population, k) , 第一个参数population就是要去进行随机抽选不重复元素的序列 , 而第二个参数k则表示取多少的元素出来 , 元素的数量不能超过序列的长度 。详细的代码示例如下所示:
# 导入模块import randomlist = [1, 2, 3]print(random.sample(list ,2))list = ["china","python","sky"]print(random.sample(list ,2))list = range(1, 10000)print(random.sample(list ,5))输出:[1, 2]['python', 'sky'][6912, 1869, 5991, 721, 3388]除了这个方法之外还可以通过将取出来的每一个数都放在一个新列表之中 , 然后使用while循环直到这个列表长度大于指定数时才跳出 。在每一次循环的时候都将新的元素去和列表内的每一个元素进行存在比较 , 没有就添加进去 , 这样子的方式会造成比较大的内存浪费 。
【Python随机数如何不重复?这个代码可以直接用】以上就是关于“Python随机数如何不重复?这个代码可以直接用”的全部内容了 , 想要了解更多python的实用知识和代码示例可以持续关注这个频道 , 每次更新都会有很多新的知识技术分享给大家 。
推荐阅读
- python装饰器是什么?这篇文章超详细必看!
- 安装完Python怎么打开?三个方法需要知道
- Python中的skimage库怎么使用?正确用法是这样
- 怎么在python安装bs4?这三个方法你不一定都知道
- Python3如何去新建工程?Python工程是什么
- python单引号和双引号怎么敲?这篇文章值得一看
- python之while循环?这篇文章也许用得上
- Anaconda如何去判断安装成功?两个命令轻松明白
- python如何集体缩进?通过这个方法就能一键锁进
- python怎么把int类型转换成列表?这篇文章值得参考