我有一个数组[(126,150),(124,154),(123,145),(123,149)]
(只是一个数字样本,数组太大而无法显示所有这些数据),然后我使用imshow
将结果绘制到矩阵上。我想要的是找到数组的倒数[(150,126),(154,124),(145,123),(149,123)]
,然后再做另一个imshow
。
如何反转数组以实现我想要的目标?
答案 0 :(得分:3)
>>> 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)]
>>>
答案 1 :(得分:3)
如果你不介意迭代器:
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方法对于更长的列表最有效。
答案 2 :(得分:1)
array = [(126,150),(124,154),(123,145),(123,149)]
inversed = [(item[1],item[0]) for item in array]