1.错误复制方式
(1)这种错误复制方式,当第一个arr_Quick列表发生变化时,其他的arr_Merge和arr_Insertion都会发生变化。
# 固定 Quick列表
arr_Quick = list()
for i in range(0, 50000, 1000):
if i == 0:
continue
temporary_arr = list(range(0, i))
random.shuffle(temporary_arr)
arr_Quick.append(temporary_arr)
# 固定 Merge列表
arr_Merge = list()
for i in arr_Quick:
arr_Merge.append(i)
# 固定Insertion列表
arr_Insertion = list()
for i in arr_Quick:
arr_Insertion.append(i)
(2)第二种错误复制方式,当第一个arr_Quick列表发生变化时,其他的arr_Merge和arr_Insertion都会发生变化。
# 固定 Quick列表
arr_Quick = list()
for i in range(0, 50000, 1000):
if i == 0:
continue
temporary_arr = list(range(0, i))
random.shuffle(temporary_arr)
arr_Quick.append(temporary_arr)
arr_Merge = arr_Quick [:]
arr_Insertion = arr_Quick [:]
2.正确复制方式
# 固定 Quick列表
arr_Quick = list()
for i in range(0, 500, 10):
if i == 0:
continue
temporary_arr = list(range(0, i))
random.shuffle(temporary_arr)
arr_Quick.append(temporary_arr)
# 固定 Merge列表
arr_Merge = list()
for i in range(len(arr_Quick)):
temporary_arr = arr_Quick[i][:]
arr_Merge.append(temporary_arr)
# 固定Insertion列表
arr_Insertion = list()
for i in range(len(arr_Quick)):
temporary_arr = arr_Quick[i][:]
arr_Insertion.append(temporary_arr)