当前位置: 首页 > 图灵资讯 > 行业资讯> python中如何实现简单的洗牌算法

python中如何实现简单的洗牌算法

来源:图灵python
时间: 2024-09-09 10:12:18

通过洗牌算法的设计,在我们玩的牌类游戏中,落在数组某个位置的概率是相等的。你知道如何使用python来设计一个简单的洗牌算法吗?其实很简单,用random模块shuffle方法可以实现洗牌算法,本文小编带领您设计一个简单的洗牌算法。

1、洗牌算法

算法思想是从原始数组中随机抽取一个新的数字到一个新的数组,其本质是随机重排数组元素。

经过洗牌算法后,数组中每个元素落在数组某个位置的概率相等,洗牌算法在牌类游戏中非常有用。

2、简单实现洗牌算法

random模块shufle方法实现洗牌算法

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方法实现洗牌算法的代码操作。返回空值会影响原数组~