問題:
嘗試使用打亂物件清單時可能會發生錯誤random.shuffle () 函數。預期的洗牌行為似乎沒有發生,並且函數輸出 None 相反。
解決方案:
要有效地洗牌物件列表,請使用shuffle( ) 隨機模組的函數如下:
from random import shuffle objects = [obj1, obj2, obj3] # initialize the list of objects shuffle(objects) # shuffle the objects in place
說明:
與其他一些程式語言不同,在Python中,random.shuffle() 就地操作,這意味著它會修改原始列表,而不會修改原始列表。返回一個新的。此外,當打算改變物件時,Python 中的函數通常會傳回 None。
範例程式碼:
from random import shuffle x = [[i] for i in range(10)] shuffle(x) print(x)
這會打亂清單x 的清單並列印打亂後的內容
注意:
重要的是要記住shuffle()會更改原始列表,因此後續操作或對列表的存取將反映 shuffle 所做的更改().
以上是為什麼 Python 的 random.shuffle() 會回傳 None 以及如何正確使用它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!