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