為什麼 Random.shuffle() 傳回 None
Python 的 random.shuffle() 函數在某些情況下可能會傳回 None。理解 random.shuffle() 的用途對於解決這個問題至關重要。
random.shuffle() 用於對清單進行隨機播放。與許多傳回結構的修改副本的函數不同,random.shuffle() 會修改原始清單而不建立新清單。因此,當呼叫 random.shuffle(x) 時,x 本身會被打亂,並且由於函數沒有明確產生新列表而傳回 None。
取得打亂後的值
要取得打亂後的值,只需在呼叫後列印或存取原始清單即可random.shuffle().
import random x = ['foo', 'bar', 'black', 'sheep'] random.shuffle(x) print(x) # Prints the shuffled list
建立一個新的隨機排列清單
如果您想建立一個新的隨機隨機排列列表而不修改原始列表,請使用random.sample() 或排序()。
使用random.sample():
import random x = ['foo', 'bar', 'black', 'sheep'] shuffled_list = random.sample(x, len(x))
使用排序():
import random x = ['foo', 'bar', 'black', 'sheep'] shuffled_list = sorted(x, key=lambda k: random.random())
以上是為什麼 Python 的 random.shuffle() 不回傳任何值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!