danuri
오늘의 기록
danuri
전체 방문자
오늘
어제
  • 오늘의 기록 (307)
    • java (150)
      • java (33)
      • spring (63)
      • jpa (36)
      • querydsl (7)
      • intelliJ (9)
    • kotlin (8)
    • python (24)
      • python (10)
      • data analysis (13)
      • crawling (1)
    • ddd (2)
    • chatgpt (2)
    • algorithm (33)
      • theory (9)
      • problems (23)
    • http (8)
    • git (8)
    • database (5)
    • aws (12)
    • devops (10)
      • docker (6)
      • cicd (4)
    • book (44)
      • clean code (9)
      • 도메인 주도 개발 시작하기 (10)
      • 자바 최적화 (11)
      • 마이크로서비스 패턴 (0)
      • 스프링으로 시작하는 리액티브 프로그래밍 (14)
    • tistory (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

태그

  • Jackson
  • Spring
  • gitlab
  • 마이크로서비스패턴
  • Thymeleaf
  • connection
  • 트랜잭션
  • Security
  • Database
  • 도메인 주도 설계
  • mockito
  • PostgreSQL
  • docker
  • RDS
  • SWAGGER
  • Saving Plans
  • CICD
  • DDD
  • reactive
  • Java
  • 등가속도 운동
  • 자바 최적화
  • nuribank
  • ChatGPT
  • AWS
  • POSTGIS
  • JPA
  • Bitmask
  • Kotlin
  • S3

최근 댓글

최근 글

hELLO · Designed By 정상우.
danuri

오늘의 기록

python/python

cmp_to_key 정렬

2021. 3. 9. 15:43

functools 라이브러리를 사용해서 정렬 시 직접 비교 함수를 만들 수 있다.

 

import functools

def comparator(a,b):
    if a>b:
        return 1
    elif a==b:
        return 0
    else:
        return -1

data=[5,3,1,2,4]
data.sort(key=functools.cmp_to_key(comparator))
print(data)

 

리스트에서 두 원소 a, b를 비교할 때 a가 b보다 크다면 1, 같다면 0, 작다면 -1을 리턴해서 비교한 값을 기반으로 오름차순으로 정렬하는 방식이다.

 

lambda로 정렬하기 까다로운 조건에 대해서 위 방법을 사용하면 편리하다. cumtom한 comparator를 만들 수 있다는 장점이 있다.

'python > python' 카테고리의 다른 글

[Python] 비트 연산자  (4) 2022.01.17
[Python] datetime - fromtimestamp() (타임스탬프를 날짜로 변환하기)  (0) 2021.08.26
우선순위 큐  (0) 2021.02.09
이진 탐색 트리  (0) 2021.02.09
그래프  (0) 2021.02.09
    'python/python' 카테고리의 다른 글
    • [Python] 비트 연산자
    • [Python] datetime - fromtimestamp() (타임스탬프를 날짜로 변환하기)
    • 우선순위 큐
    • 이진 탐색 트리
    danuri
    danuri
    IT 관련 정보(컴퓨터 지식, 개발)를 꾸준히 기록하는 블로그입니다.

    티스토리툴바