HKC*_*C72 2 python shuffle list
我正在使用python并希望将我之后写入的复制列表混合到一个txt文件中(参见下面的代码).
为什么shuffle函数也会使原始列表随机化?我只使用副本进行函数调用.
有任何想法吗?谢谢 !
from random import shuffle
def shuffleList2txt(myList):
shuffle(myList)
f = open('randList.txt','w')
f.write(str(liste))
f.close()
return(myList)
liste = [1,2,3,4,5,6,7,8,9,10]
copy = liste
shuffledList = shuffleList2txt(copy)
Run Code Online (Sandbox Code Playgroud)
liste和shuffledList是一样的!为什么?liste应该是原始的,shuffledList应该是洗牌列表.... :)
Jea*_*bre 13
random.shuffle工作到位.当然你可以在改组之前制作一份清单副本,但是你可以random.sample通过采取整个清单的样本来改善:
>>> l = [1,2,3,4]
>>> random.sample(l,len(l))
[3, 1, 2, 4]
>>> l
[1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)
因此,分配结果会random.sample为您提供一个新的,随机播放的列表,而无需更改原始列表.