我的任务是改组数字并将其追加到数组中。我的程序正在改组,但只有一次。
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]]
order
,因此最终结果中只有一个列表,可以使用:for i in range(i,10):
new_o = order.copy()
random.shuffle(new_o)
population.append(new_o)
order
,但它会影响population
中的每个实例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)