python中如何实现简单的洗牌算法
python中如何实现简单的洗牌算法
在我们玩的牌类游戏中,通过洗牌算法的设计,落在数组某个位置上的概率是相等的,那你知道如何使用python设计一个简单的洗牌算法吗?其实实现很简单,使用random模块shuffle方法即可实现洗牌算法,本文小编带领大家设计一个简单的洗牌算法。
1、洗牌算法
算法思想就是从原始数组中随机抽取一个新的数字到新数组中,其本质是对数组元素进行随机重排。
数组中每个元素经过洗牌算法后落在数组某个位置上的概率是相等的,洗牌算法在牌类游戏中非常有用。
2、洗牌算法的简单实现
random模块shuffle方法实现洗牌算法
shuffle()方法:将列表的所有元素随机排列
importrandom
defshuffel(lst):
l=len(lst)
ifl<=1:
returnlst
i=0
whilel>1:
p=int(random.random()*l)
lst[i],lst[i+p]=lst[i+p],lst[i]
i+=1
l-=1
returnlst
print(shuffel([1,2,2,3,3,4,5,10]))
以上就是python中使用random模块shuffle方法实现洗牌算法的代码操作,需要注意的是习方法返回空值,会影响原数组哦~更多Python学习教程请关注IT培训机构:千锋教育。

猜你喜欢LIKE
相关推荐HOT
更多>>
python可以制作外挂么?
python可以制作游戏外挂,下面就列举一些必备工具吧!需要安装autopy和PIL以及pywin32包。autopy是一个自动化操作的python库,可以模拟一些鼠标...详情>>
2023-11-06 11:34:58
python中如何用字典values() 方法实现字典遍历?
我们经常在使用python中的过程中要对列表进行遍历操作,其实作为python中必不可少的字典也需要遍历。python为字典类型内置了values()方法,以列...详情>>
2023-11-06 10:51:42
python 交叉验证
交叉验证的优点:原始采用的train_test_split方法,数据划分具有偶然性;交叉验证通过多次划分,大大降低了这种由一次随机划分带来的偶然性,同...详情>>
2023-11-06 10:18:16
python 归并排序
原理归并操作(归并算法),指的是将两个已经排序的序列合并成一个序列的操作。归并排序算法依赖归并操作。步骤1.迭代法申请空间,使其大小为两个...详情>>
2023-11-06 09:55:35热门推荐
在python中如何求阶乘和斐波那契数列?
沸python可以制作外挂么?
热python中pop函数和remove函数的区别有哪些
热python中的shuffle怎么用?
新python中字典遍历时如何同时获得键和值?
python中如何用字典values() 方法实现字典遍历?
python之如何使用初始化种子和迭代函数生成列表
python图像处理是啥
python 交叉验证
python 深浅拷贝
python 归并排序
python socket网络编程之粘包问题详解
python字符串的正则匹配:re模块
Python C代码统计工具代码的效果验证
技术干货






