首頁 >後端開發 >Python教學 >為什麼 Python 的 random.shuffle() 不回傳任何值?

為什麼 Python 的 random.shuffle() 不回傳任何值?

Patricia Arquette
Patricia Arquette原創
2024-11-26 10:20:10526瀏覽

Why Does Python's `random.shuffle()` Return None?

為什麼 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn