python之中可以使用random模块去生成指定范围内的随机整数或者是浮点数,但是当范围过大的时候就无法保证每一次随机生成的数据都是不重复的。那这一篇文章就带来生成不重复随机数的方法,往下看看吧。
在python之中使用random去生成1-10之间的20个随机数那肯定就是会出现重复的值,那么如果只是使用range()函数去生成1-20这个二十个数字的话就不会有重复。那在random模块之中有一个方法叫做sample,它可以去获取一个序列之中不重复的几个值并将其取出来放在一个新列表内。
sample的语法为random.sample(population, k),第一个参数population就是要去进行随机抽选不重复元素的序列,而第二个参数k则表示取多少的元素出来,元素的数量不能超过序列的长度。详细的代码示例如下所示:
# 导入模块 import random list = [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
【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。