我试图仅将列表中的元素从第 3 位打乱到最后一个位置,以便第 1 和第 2 位始终保持原位 例如
list = ['a?','b','c','d','e']
进入
list = ['a?','b','d','e','c']
由于某些原因,这不起作用:
list = ['a?','b','c','d','e']
import random
random.shuffle(list[2:])
print list
有人知道我做错了什么吗??
到目前为止,唯一对我有用的是这个(已编辑):
lists = [['a?','b','c','d','e'],['1?','2','3','4','5','6','7']]
import random
for list in lists:
copy = list[2:]
random.shuffle(copy)
list[2:] = copy
print lists
认为这正是我所需要的。
最佳答案
你做的是这样的:
copy = list[2:]
random.shuffle(copy)
这对原始列表没有多大作用。试试这个:
copy = list[2:]
random.shuffle(copy)
list[2:] = copy # overwrite the original
关于Python - 仅随机播放列表的某些元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9557182/