python数字位数重排_Python3.x中数据随机重排基本方法

list列表数据重排

使用random包中的shuffle()方法进行重排

注意:shuffle()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。

import random

random.shuffle (lst)

参数

- lst–为列表

返回值

- 方法没有返回值 None

a = [[1,2,3,4,5],[2,3,4,5,6]]

aa = []

for i in a:

ii = i[0:]

random.shuffle(ii)

aa.append(ii)

print('aa:',aa)

print('a:',a)

固定种子重排方式

random模块中的排序都是按照系统时间的最后一位当做种子进行生成随机数

设定随机种子方法

randseed = 3

random.seed(randseed)

此后得到的随机数都会以种子3确定随机数

如:执行random.randint(1,3)得到的第一个随机数都会是1,产生的随机数为固定顺序

注:如果每次单独执行一次随机数产生方式,得到的都会是同一个随机数,但是如果循环产生随机数列表,那么将会得到固定的随机数序列。

常见的random模块中随机数产生函数

random.randint

random.randint(1,10)

参数(start,stop),产生1至10之间的随机整数(int),产生的随机数包含1,10两个端点

random.randrange

random.randrange(start, stop, step)

参数:(start, stop, step),start为开始点(包含),stop为结束点(不包含),step为间隔默认为1

产生的为int整数类型随机数

例:random.randrange(1,11,2)相当于从[1,3,5,7,9]中随机产生随机数

每次产生随机数,都会以随机种子为基础固定的随机序列。

random.uniform

random.uniform(a,b)

参数:(start,stop),产生a至b之间的随机浮点数(float),产生的随机数包含a,b两个端点

注:start与stop 不用考虑大小关系。

random.uniform(2.68,12.68)

random.uniform(12.68,2.68)

以上两种参数输入方式都是正确的。

random.choice

random.choice(seq)

参数:seq为list,元祖,字符串

random.choice([1, 6, 3, 7, 8, 13]) #list

random.choice('hello') #字符串

random.choice(['hello','world','welcome']) #字符串组成的list

random.choice((1, 2, 3)) #元组

例:random.choice('hello')随机产生h,e,l,l,o中的一个。

结果:

random.choice(['hello','world','welcome'])随机产生’hello’,’world’,’welcome’中的一个

结果:

random.sample

random.sample(p, k)

参数:p为序列,k为元素个数

从序列p中,随机选出k个元素生成新的序列

例:random.sample(['hello','world','welcome'],2)

你可能感兴趣的:(python数字位数重排)