我喜欢Python处理变量交换的方式:
a, b, = b, a
我也想利用这种功能来交换数组之间的值,不仅限于一次交换一个,而是多个(不使用临时变量)。但它并不符合我的期望(我希望两个维度上的所有数值都可以同时交换):
import numpy as np
a = np.random.randint(0, 10, (2, 3,3))
b = np.random.randint(0, 10, (2, 5,5))
# display before
a[:,0, 0]
b[:,0,0]
a[:,0,0], b[:, 0, 0] = b[:, 0, 0], a[:,0,0] #swap
# display after
a[:,0, 0]
b[:,0,0]
有人有想法吗?当然,我可以引入一个额外的变量,但我想知道是否有更优雅的方法来做到这一点。