导语:
本文主要介绍了关于python中如何实现简单的洗牌算法的相关知识,包括python优化算法,以及将扑克牌打乱的算法这些编程知识,希望对大家有参考作用。
在我们玩的牌类游戏中,通过洗牌算法的设计,
落在数组某个位置上的概率是相等的,那你知道如何使用python设计一个简单的洗牌算法吗?其实实现很简单,使用
随机模块shuffle方法可以实现shuffle算法。本文将带领你设计一个简单的洗牌算法。
1、洗牌算法
算法思想就是从原始数组中随机抽取一个新的数字到新数组中,
其本质是对数组元素进行随机重排。
数组中的每个元素在经过混洗算法后落在数组中某个位置的概率相等。洗牌算法在纸牌游戏中非常有用。
2、洗牌算法的简单实现
random模块shuffle方法实现洗牌算法
shuffle()方法:将列表的所有元素随机排列
import random
def shuffel(lst):
l = len(lst)
if l <= 1:
return lst
i = 0
while l > 1:
p = int(random.random()*l)
lst[i], lst[i+p] = lst[i+p], lst[i]
i += 1
l -= 1
return lst
print(shuffel([1, 2, 2, 3, 3, 4, 5, 10]))
以上就是python中使用
random模块shuffle方法实现了shuffle算法的代码操作。需要注意的是,Xi 方法
返回空值,会影响原数组哦~
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python中的vars函数是什么意思?09/19
- ♥ python apply和map有什么区别12/07
- ♥ python处理列表的部分元素10/13
- ♥ 如何用python画奥运五环08/20
- ♥ mac需要安装python吗12/26
- ♥ python生成器函数的特点12/04
内容反馈