生成单个随机数
# encoding:utf-8 import random ### 生成单元素 a = random.random() # 返回0-1之间的随机浮点数 print(a) # 0.2473362446838867 b = random.uniform(1, 10) # 返回指定范围内的随机浮点数,上下限可互换 print(b) # 3.7800015747308917 print(random.uniform(10, 1)) # 6.59216478923806 c = random.randint(1, 10) # 返回指定范围内的整数,上下限不可互换 print(c) # 8 # print(random.randint(10, 1)) d = random.randrange(1, 10, 2) # 返回序列内的一个随机数,注意此处并不生成序列 print(d) # 7 e = random.choice(range(10)) # 随机选择序列内的一个数 print(e) # 3 # f = random.choices(range(10)) # # 返回一个单元素的子序列 # print(f) # [7] g = random.sample(range(10), 3) # 从序列中随机选择n个元素,注意返回的顺序是乱序 print(g) # [8, 2, 9] data = [1, 2, 3, 4, 5] j = random.shuffle(data) # 将序列顺序打乱,注意这里不生成新序列,也就是这个序列必须是可变数据 print(j) # None print(data) # [1, 4, 5, 2, 3] # 如果是不可变数据 data2 = (1, 2, 3, 4, 5) data2_shuffle = random.sample(data2, len(data2)) print(data2_shuffle) # [1, 3, 4, 2, 5]
注意python2中没有 random.choices
随机种子seed
seed方法改变随机数生成器的种子,通常在调用随机模块之前调用该方法。
seed种子相同时,生成的随机数相同,seed种子不同时,生成的随机数不同,种子之间可以互相切换。
print(random.random()) # 随机生成 random.seed(0) print(random.random()) # 每次结果相同 0.844421851525 print(random.random()) # 每次结果也相同,但不同于上一句的结果 0.75795440294 random.seed(1) print(random.random()) # 0.134364244112 random.seed(0) print(random.random()) # 0.844421851525 可以根据seed切换 print(np.random.random()) # 随机的,random模块设定seed不影响np模块 np.random.seed(0) print(np.random.random()) # 每次结果相同
原文:https://www.cnblogs.com/yanshw/p/10562811.html