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

来源:千锋教育
发布时间:2023-11-12 20:47:36
分享

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培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • python如何对Python数据表进行检查 如何对Python数据表进行检查在python中处理的数据量通常会比较大,例如千万级数据,而且我们不能一目了然地了解整个数据表,而且必须通过某种方法获得关于数据表的关键信息。DataTableChec
  • Python itemgetter函数怎么用? pythonitemgetter函数怎么用?Operator模块中也有一类函数可以作为条件过滤。首先介绍itemgetter函数。假设定义了一个f函数,f=itemgetter(2),那么如果调用f(
  • python中remove()方法如何使用删除后的值? python中remove()方法如何使用删除后的值?有时,您可能不知道列表中元素的索引,但只要您知道该值,您就可以根据该值删除该元素。remove()方法可以使用。remove()方法将不返回已删除
  • Python中Operator计算函数 python中Operator计算函数使用Operator模块中的mul函数来实现阶乘:fromoperatorimportmuldeffactWithMul(n):returnreduce(mul,
  • python中如何查看stdin编码? python中如何查看stdin编码?1、通过Pythonsys库查看$pythonPython2.7.6(default,Nov132018,12:45:42)[GCC4.8.4]onlinux2T
  • python中列表的索引如何理解? python中列表的索引如何理解?一、python中列表的索引介绍:第一个列表要素的索引为0,很多编程语言都是这样规定的,这与列表操作的基础有关。第二个列表要素的索引值为1,根据该访问方式,访问任何要