OriginalName = ["a", "b", "c"]
ShuffleList = random.shuffle(OriginalName)
print ShuffleList
當我運行上面的代碼時,它返回'None'。我正在嘗試創建一個新的列表,一旦它被洗牌。是否可以從混洗列表創建新列表?
我想創建已隨機創建另一個列表,並且可以像["c", "a", "b"]
OriginalName = ["a", "b", "c"]
ShuffleList = random.shuffle(OriginalName)
print ShuffleList
當我運行上面的代碼時,它返回'None'。我正在嘗試創建一個新的列表,一旦它被洗牌。是否可以從混洗列表創建新列表?
我想創建已隨機創建另一個列表,並且可以像["c", "a", "b"]
random.shuffle
是重新組織原始列表 - 你只是一個清單的工作。
嘗試像
OriginalName = ["a", "b", "c"]
ShuffleList = list(OriginalName) # making a new list copy
random.shuffle(ShuffleList)
現在你有兩個名單,原來和洗牌。
附註:確保使用蛇殼(original_name
而不是OriginalName
)。這是Python的慣例。
I w ant另一個列表,它是隨機創建的,並且類似於'[「c」,「a」,「b」]'。這可能嗎? – NorthernStars
是的,'ShuffeList'是你的原始列表的副本,然後在答案中混洗。 –
先創建新列表,然後洗牌。
shuffled = OriginalName[:]
random.shuffle(shuffled)
print shuffled
我會用random.sample
這
import random
l = list(range(5))
print(random.sample(l, len(l)))
印像
[4, 0, 2, 1, 3]
THRE的一個類似的問題在這裏:http://stackoverflow.com/questions/976882/shuffling-a -use-list-of-objects-in-python'random.shuffle'這樣做就是這樣,所以返回None並且改變原始數據 - 要麼複製它,要麼使用random.sample(OriginalName,len(OriginalName))'而不是 – doctorlove