Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python random.shuffle只工作一次_Python_Arrays_Shuffle - Fatal编程技术网

Python random.shuffle只工作一次

Python random.shuffle只工作一次,python,arrays,shuffle,Python,Arrays,Shuffle,我的任务是洗牌附加到数组中的数字。我的程序正在洗牌,但只有一次 order = [] population = [] i = 0 for i in range(i,M): order.append(i) i = 0 for i in range(i,10): random.shuffle(order) population.append(order) my input = [[1, 0, 2], [1, 0, 2], [1, 0, 2], [1, 0, 2], [1,

我的任务是洗牌附加到数组中的数字。我的程序正在洗牌,但只有一次

order = []
population = []
i = 0
for i in range(i,M):
    order.append(i)
i = 0
for i in range(i,10):
    random.shuffle(order)
    population.append(order)

my input = [[1, 0, 2], [1, 0, 2], [1, 0, 2], [1, 0, 2], [1, 0, 2]]
expected input = [[0, 2, 1], [1, 0, 2], [0, 2, 1], [2, 0, 1], [2, 1, 0]]

您将引用附加到同一列表
顺序
,因此最终结果中只有一个列表,您可以使用:

for i in range(i,10):
    new_o = order.copy()
    random.shuffle(new_o)
    population.append(new_o)

您必须使用copy,因为您要一次又一次地追加相同的引用,所以实际上您正在洗牌
顺序
,但它会影响
填充中的每个实例

import random
import copy

order = []
population = []

i = 0
for i in range(i,M):
    order.append(i)
i = 0
for i in range(i,10):
    random.shuffle(order)
    population.append(copy.deepcopy(order))

print(population)

谁是
M
?你能添加完整的代码吗?