[Python] 2차원 배열 정렬

Coding_Holic·2022년 9월 19일

코딩테스트 준비

목록 보기
3/12

배열

  • sort 정렬
    기본적으로 파이썬에서 제공되는 메서드이다. 주로 아래와 같이 사용한다.
lst = [2, 3, 5, 6, 1, 4]
lst.sort()
print(lst)

# [1, 2, 3, 4, 5, 6]
  • 내림차순 정렬
lst = [2, 3, 5, 6, 1, 4]
lst.sort(reverse=True)
print(lst)

# [6, 5, 4, 3, 2, 1]
  • key를 사용하기
    -key는 함수의 결과에 따라 정렬 가능하다.

  • 2차원 배열 정렬하기
    key 값을 이용해서 배열을 정렬할 수 있다.

lst = [[2, 1], [3, 4], [1, 2], [1, 3], [3, 2]]
lst.sort(key=lambda x:x[0])
print(lst)

# [[1, 2], [1, 3], [2, 1], [3, 4], [3, 2]]
  • 두번째 값 이용해서 2차원 배열 정렬
    • -를 사용하여 역으로 정렬 가능
lst = [[2, 1], [3, 4], [1, 2], [1, 3], [3, 2]]
lst.sort(key=lambda x: (x[0], -x[1]))
print(lst)

# [[1, 3], [1, 2], [2, 1], [3, 4], [3, 2]]

딕셔너리

  • sort 메서드가 없기 때문에, sorted 함수를 사용해야함.
dic = {
    2: 1,
    3: 4,
    5: 2,
    1: 3,
    4: 1
}
x = sorted(dic.items(), key=lambda x:x[0])
print(x)

# [(1, 3), (2, 1), (3, 4), (4, 1), (5, 2)]
profile
안녕하세용 개발에 미치고 싶은 초보 개발자입니다:)

0개의 댓글