Python3.x中数据随机重排基本方法

本文介绍如何使用Python的random模块对列表进行重排,并介绍了多种生成随机数的方法,包括固定种子重排、随机整数、随机浮点数、随机选择及随机采样等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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),产生ab之间的随机浮点数(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)
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值