Python中,有一个叫做random的内置模块,可以很方便的为我们生成各式的随机数据
返回从0-stop区间内的随机整数
1 2 >>> random.randrange(20) 7 random.randrange( start, stop, step )返回从start-stop区间内,并且步长为step的一个整数,类似range函数
1 2 3 4 5 6 7 8 >>> random.randrange(0,10,3) 3 >>> random.randrange(0,10,3) 6 >>> random.randrange(0,10,3) 6 >>> random.randrange(0,10,3) 9 random.randint(start, stop)返回start-stop区间内的一个整数
1 2 3 4 5 6 >>> random.randint(10,20) 19 >>> random.randint(10,20) 19 >>> random.randint(10,20) 10 random.getrandbits(num)传入一个num值,返回一个从0到2的num次方(2 ** num)区间内的一个整数
1 2 3 4 5 6 >>> random.getrandbits(3)#(2**3) 5 >>> random.getrandbits(3) 2 >>> random.getrandbits(3) 1返回介于0到1之间的浮点数
1 2 3 4 >>> random.random() 0.018594388691108188 >>> random.random() 0.7626285486964196 random.uniform(start, stop)返回介于start-stop之间的浮点数,start和stop的值也可能出现
1 2 3 4 5 6 >>> random.uniform(1,3) 1.5281489461709883 >>> random.uniform(1,3) 1.0881355542393485 >>> random.uniform(1,3) 1.4888568616457178从非空序列seq中随机选取一个元素,如果为空序列,则引发IndexError
1 2 3 4 >>> random.choice([1,2,3,4,5]) 3 >>> random.choice([1,2,3,4,5]) 2 random.shuffle(seq)将可变序列随机打乱
1 2 3 4 >>> mylist = [1,2,3,4,5] >>> random.shuffle(mylist) >>> mylist [5, 4, 1, 3, 2] random.sample(seq,num)从数据集中重新抽取num个元素形成新的序列(不重复随机抽样),不会修改原有数据集num值不可大于数据集最大长度
1 2 3 4 5 6 >>> random.sample(mylist,3) [3, 4, 1] >>> random.sample(mylist,3) [5, 4, 1] >>> random.sample(mylist,3) [5, 2, 4]