<分区> 分区>
我有两个列表 a b,其中包含随机数量的元素(比如 8 个),我想在点 cp 中拆分它们。之后,我想保留列表中 cp 之前的部分,而将 cp 之后的部分更改为另一个列表中的部分。
我使用以下代码:
cp = 4
a = [1, 3, 2, 4, 5, 8, 7, 6]
b = [3, 1, 5, 6, 2, 8, 4, 7]
parents = np.array([a,b])
parents[0][cp:], parents[1][cp:] = parents[1][cp:], parents[0][cp:]
print parents
# Print result:
# [[1 3 2 4 5 8 7 6]
# [3 1 5 6 5 8 7 6]]
如代码所示,我显然收到了一个错误,因为它在分配结束之前分配了 parents[0] 中的子数组的值。
如果我使用传统的 python 列表,这似乎工作正常:
a = [1,3,2,4, 5,8,7,6]
b = [3,1,5,6, 2,8,4,7]
a[cp:] , b[cp:] = b[cp:], a[cp:]
print a,b
# Print result:
# [1, 3, 2, 4, 2, 8, 4, 7] [3, 1, 5, 6, 5, 8, 7, 6]
有没有办法使用以前的符号而不添加第三个变量来完成这项工作?
