[python] 튜플 정렬하기(두 번째 원소로 정렬하기) :: tuple sorting in python
파이썬에서 튜플 정렬하는 방법
> v = [(3, 4), (2, 2), (3, 3), (1, 2), (1, -1)]
> print(v)
[(3, 4), (2, 2), (3, 3), (1, 2), (1, -1)]
1. 첫 번째 원소로 오름차순 정렬하기
> v = [(3, 4), (2, 2), (3, 3), (1, 2), (1, -1)]
> v.sort(key = lambda x : x[0])
> print(v)
[(1, 2), (1, -1), (2, 2), (3, 4), (3, 3)]
2. 첫 번째 원소로 내림차순 정렬하기
> v = [(3,4),(2,2),(3,3),(1,2),(1,-1)]
> v.sort(key=lambda x:-x[0])
> print(v)
[(3, 4), (3, 3), (2, 2), (1, 2), (1, -1)]
> v = [(3,4),(2,2),(3,3),(1,2),(1,-1)]
> v.sort(key=lambda x:x[0], reverse=True)
> print(v)
[(3, 4), (3, 3), (2, 2), (1, 2), (1, -1)]
3. 두 번째 원소로 오름차순 정렬하기
> v = [(3,4),(2,2),(3,3),(1,2),(1,-1)]
> v.sort(key=lambda x:x[1])
> print(v)
[(1, -1), (2, 2), (1, 2), (3, 3), (3, 4)]
4. 첫 번째 원소로 오름차순 정렬하고, 첫 번째 원소가 같은 경우 두 번째 원소로 오름차순 정렬하기
> v = [(3,4),(2,2),(3,3),(1,2),(1,-1)]
> v.sort()
> print(v)
[(1, -1), (1, 2), (2, 2), (3, 3), (3, 4)]
> v = [(3,4),(2,2),(3,3),(1,2),(1,-1)]
> v.sort(key=lambda x:(x[0],x[1]))
> print(v)
[(1, -1), (1, 2), (2, 2), (3, 3), (3, 4)]
5. 첫 번째 원소로 내림차순 정렬하고, 첫 번째 원소가 같은 경우 두 번째 원소로 오름차순 정렬하기
> v = [(3,4),(2,2),(3,3),(1,2),(1,-1)]
> v.sort(key=lambda x:(-x[0],x[1]))
> print(v)
[(3, 3), (3, 4), (2, 2), (1, -1), (1, 2)]