【发布时间】:2018-05-16 20:03:15
【问题描述】:
我试图在两个列表之间交换元素,python 似乎不允许这种情况发生。
def swap(A,B,i,j):
TEMP_B = B[j]
B[j] = A[i]
A[i] = TEMP_B
return A,B
X = np.array([[1.25,3],[1.5,2],[2,2.75],[2.25,2],[2,0.5],[3.25,0.75],
[3.5,2.25],[4.25,0.75]])
Y = np.array([[2.75,3.5],[3.25,3],[4.5,2.75],[3.5,4.75]])
X,Y = swap(X,Y,1,1)
OUTPUT:::
Temp = [ 3.25 3. ]
before swap
X[ 1 ]: [ 1.5 2. ]
Y[ 1 ]: [ 3.25 3. ]
Temp = [ 1.5 2. ]
after swap
X[ 1 ]: [ 1.5 2. ]
Y[ 1 ]: [ 1.5 2. ]
我希望 B[j] = 旧 A[i] 和 A[i] = 旧 B[j] 但是,只有一个项目被交换。不知道问题是什么。 这是它得到的输出:
我期待 X[1] = [3.25,3] 但结果为 [1.5,2]
【问题讨论】:
-
你怎么称呼
swap?贴出调用者的代码。 -
注意这里和
A[i], B[j] = B[j], A[i]是一样的 -
你能举一个输入输出的例子吗?
-
您的功能似乎正在运行。这是它交换列表中的两个项目的图像。 imgur.com/a/knanR
-
我确认它与 numpy.array 有关。我可以重现。而且它只适用于二维数组。
标签: python