【发布时间】:2020-01-21 16:20:39
【问题描述】:
如果条件 swap[i] 是 True,我想将第 i 行的元素交换为 Nx2 numpy 数组 my_array。
我的尝试:
def swap_positions_conditionally(my_array, swap):
for i in range(np.shape(my_array)[0]):
if swap[i]:
my_array[i] = my_array[i][::-1]
return my_array
工作正常,例如给定
my_array = array([[0, 1],
[2, 3],
[4, 5],
[6, 7],
[8, 9]])
swap = array([0, 0, 1, 1, 0])
产生预期的结果
[[0 1]
[2 3]
[5 4]
[7 6]
[8 9]]
但是,可能有一个更惯用的表达方式来重写我的swap_position_conditionally。
有什么更好(更高效)的方式来编写它?
【问题讨论】: