예꾸
개발자국
예꾸
전체 방문자
오늘
어제
  • 분류 전체보기 (111)
    • CS (6)
      • 데이터베이스 (5)
      • 운영체제 (0)
      • Computer Architecture (1)
    • 끄적끄적 (4)
    • 이론 (29)
      • 알고리즘 (18)
      • 자료구조 (4)
      • WEB (2)
      • JS (2)
      • Git (2)
      • Python (1)
    • 면접준비 (3)
      • Vue (1)
      • Design Pattern (1)
      • Frontend (1)
    • 개발기술 (20)
      • Git PUSH 자동화 (3)
      • VUE (1)
      • Linux (2)
      • MERN Stack (2)
      • React기반 Gatsby로 블로그 개발하기 (6)
      • Typescript (0)
      • 감정일기장(React) (3)
      • CI CD (3)
    • 코드트리 (6)
      • 블로그 챌린지 (3)
      • 모의시험 (3)
    • 취업준비 (3)
      • 코딩테스트 후기 (3)
    • 프로그래머스 (8)
      • SQL (7)
      • 알고리즘 (1)
    • 백준 (31)
      • 그리디(탐욕법) (6)
      • 구현 (5)
      • 그래프탐색(dfs, bfs) (5)
      • 완전탐색 (5)
      • 문자열 (5)
      • 누적합 (2)
      • DP(다이나믹 프로그래밍) (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 코드트리 추천
  • 백준 완전탐색
  • 백준 문자열
  • React
  • 나만의공부노트
  • 코드트리
  • 자료구조
  • 운영체제
  • 백준 그리디
  • 코딩테스트실력진단
  • 프로그래머스 SQL
  • 프로그래머스
  • 백준 구현
  • gatsby
  • javascript
  • 알고리즘
  • 백준 그래프탐색
  • JS
  • 컴퓨터 시스템의 구조
  • 코딩테스트

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
예꾸

개발자국

[Python] 정렬 라이브러리
이론/알고리즘

[Python] 정렬 라이브러리

2021. 4. 20. 16:26

헷갈려하던 python 정렬에 대해 정리해 보려 합니다

python 정렬 라이브러리는 sorted와 sort가 있습니다

sorted와 sort의 공통점은 오름차순으로 key값을 사용해 정렬가능하다는 것이고

sorted는 별도의 정렬된 리스트를 return해주고 sort는 별도 정렬된 리스트가 반환되지 않고 내부원소가 바로 정렬된다는 차이점이 있습니다 

sorted()

array = [5, 3, 2, 4, 1]

result = sorted(array)
print(result) // [1, 2, 3, 4, 5]

 

sort()

array = [4, 5, 2, 1, 3]

array.sort()
print(array) // [1, 2, 3, 4, 5]

 

key를 활용한 소스코드

sort와 sorted는 key매개변수를 입력으로 받을 수 있습니다

key값으로는 하나의 함수가 들어가야하며 위 함수가 정렬 기준이 됩니다

key값에 람다함수를 사용할 수도 있습니다

array = [('바나나', 2), ('사과', 3), ('키위', 1)]

def setting(data):
	return data[1]
    
result = sorted(array, key=setting)
print(result)// [('키위', 1), ('바나나', 2), ('사과', 3)]

cf. 람다함수와 내림차순

람다함수를 사용해 tuple안의 1번째 idx를 기준으로 정렬했고, reverse를 사용해 내림차순으로 정렬되게 했습니다.

result = sorted([('홍길동', 35), ('이순신', 75), ('아무개', 50)], key = lambda x: x[1], reverse=True)

print(result) // [('이순신', 75), ('아무개', 50), ('홍길동', 35)]

 

    '이론/알고리즘' 카테고리의 다른 글
    • [이진탐색] binary Search - JS, Python
    • [정렬] Counting Sort - JS, Python
    • [정렬] Quick Sort - JS, Python
    • [정렬] Insertion Sort - JS, Python
    예꾸
    예꾸
    비전공자 옒의 개발이야기💻

    티스토리툴바