我有一个数组[(126,150),(124,154),(123,145),(123,149)]
(只是数字的一个样本,数组太大而无法显示所有这些),然后我用它imshow
来将结果绘制到矩阵上。我想要的是找到数组的倒数,[(150,126),(154,124),(145,123),(149,123)]
然后再做一个imshow
。
如何反转数组以实现我想要做的事情?
我有一个数组[(126,150),(124,154),(123,145),(123,149)]
(只是数字的一个样本,数组太大而无法显示所有这些),然后我用它imshow
来将结果绘制到矩阵上。我想要的是找到数组的倒数,[(150,126),(154,124),(145,123),(149,123)]
然后再做一个imshow
。
如何反转数组以实现我想要做的事情?
>>> arr = [(126,150),(124,154),(123,145),(123,149)]
>>> reverseArr = [x[::-1] for x in arr]
>>> reverseArr
[(150, 126), (154, 124), (145, 123), (149, 123)]
>>>
如果您不介意迭代器:
a = [(126,150),(124,154),(123,145),(123,149)]
inverse = map(reversed, a)
或者如果你想要元组,这里有几个选项:
inverse = map(tuple, map(reversed, a))
inverse = map(lambda x: (x[1], x[0]), a)
inverse = zip(*reversed(zip(*a)))
通过几个快速测试,我发现列表推导是处理短列表最有效的方法,而 zip 方法对于长列表最有效。
array = [(126,150),(124,154),(123,145),(123,149)]
inversed = [(item[1],item[0]) for item in array]