我有一组元组列表,其中包含以(x,y)格式表示的坐标。我想按逆时针方向对其进行排序/排列。例如:
[(0,1),(3,1),(-1,0),(2,2)]
排列好的列表应该是:
[(3,1),(2,2),(0,1),(-1,0)]
注意:该列表可以有'n'个元组,且(0,0)可以是列表的一部分。
我有一组元组列表,其中包含以(x,y)格式表示的坐标。我想按逆时针方向对其进行排序/排列。例如:
[(0,1),(3,1),(-1,0),(2,2)]
[(3,1),(2,2),(0,1),(-1,0)]
>>> vec = [(0,1),(3,1),(-1,0),(2,2)]
>>> sorted(vec, key=lambda p: math.atan2(p[1], p[0])) # atan2(y, x)
[(3, 1), (2, 2), (0, 1), (-1, 0)]
(图片来自维基百科。)