python randomseed()函数 (生成固定随机数)randomseed(None)(取消固定随机数种子)
我们调用random.random()生成随机数时,每一次生成的数都是随机的。但是,当我们预先使用random.seed(x)设定好种子之后,其中的x可以是任意数字,如10,这个时候,先调用它的情况下,使用random()生成的随机数将会是同一个。
注意:seed()是不能直接访问的,需要导入random模块,然后通过random静态对象调用该方。
例,设置了一次seed(),后续的随机操作都走固定随机流程(按照一定规则运算)(每次运行程序的结果都相同)
importrandomcolor=[(1,2,3),(4,5,6),(7,8,9)]random.seed(0)random.shuffle(color)print(color)#每次都是[(1,2,3),(7,8,9),(4,5,6)]random.seed(10)random.shuffle(color)print(color)#每次都是[(7,8,9),(1,2,3),(4,5,6)]random.seed(2)random.shuffle(color)print(color)#每次都是[(1,2,3),(4,5,6),(7,8,9)]参考文章:Pythonseed()函数
Python random 生成不重复的随机数
Pythonrandom生成不重复的随机数先说结论:random.sample(range(10),n)random.sample(range(0,10),n)以上两条表示在范围0-9内不包括10生成n条随机数random.randint(0,10)以上表示在范围0-10内包括10生成1条随机数比如:
importrandomtest=random.sample(range(10),10)print(test)输出[4,8,3,6,9,5,2,0,1,7]
test=random.sample(range(0,10),10)print(test)输出[3,0,4,9,5,1,7,6,2,8]
T=[]foriinrange(100):test=random.randint(0,10)iftestnotinT:T.append(test)print(T)输出[8,4,9,2,5,0,10,1,3,6,7]
test=random.sample(range(0,10),11)
报错ValueError:Samplelargerthanpopulationorisnegative
test=random.sample(range(10),11)
报错ValueError:Samplelargerthanpopulationorisnegative