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培訓機構:千鋒教育。

相關推薦HOT
更多>>
python中wordcloud庫如何生成詞云?
python中wordcloud庫如何生成詞云?可能有些小伙伴不了解詞云是什么,其實主要作用是為了快速解決類問題的方法,它能夠實現凸顯關鍵詞,快速幫助...詳情>>
2023-11-11 02:14:00
python的概率分布有哪些類型?
python的概率分布有哪些類型?python數據可視化。無非是把各種各樣的數據以視圖的形式展現出來,可以更直觀的分析數據。python的數據可視化離不...詳情>>
2023-11-11 00:43:24
python中socket如何測試程序?
python中socket如何測試程序?1、編寫server的步驟(1)是創建socket對象。調用socket構造函數。如:socket=socket.socket(family,type)(2)是詳情>>
2023-11-11 00:19:01
python函數裝飾器的應用過程
python函數裝飾器的應用過程1、應用過程一般是定義在一個獨立模塊中,使用時會被導入到其它模塊;函數裝飾器會在內部定義一個新函數,然后返回。...詳情>>
2023-11-10 22:33:56熱門推薦
python漢諾塔遞歸函數是什么?
沸Python3中的tuple函數是什么?
熱python關鍵字有哪些?
熱python中doctest模塊如何使用?
新python中定時器的實現方式
python中寫入文件的出錯解決
python中wordcloud庫如何生成詞云?
python中pandas_datareader庫怎么用?
python中SQLAlchemy是什么?
python中如何實現簡單的洗牌算法
python的概率分布有哪些類型?
python中socket如何測試程序?
pythonLogging是什么?
python如何應用于數據的基礎統計分析
技術干貨






