• 분류 전체보기 (512)
    • 개발남노씨(Coding Test) (6)
    • 고농축 백엔드 (17)
    • 재귀함수 DFS 총정리 (1)
    • 프론트엔드 날개달기:Vuejs.React (1)
    • 훈훈한 javascript (5)
    • 렛츠기릿 자바스크립트 (18)
    • 나도코딩 (1)
      • 웹 스크래핑 (1)
    • 프로그래머스(자바스크립트) (41)
      • LV.0(자바스크립트) (41)
    • 프로그래머스(자바) (121)
      • LV.0(자바) (56)
      • LV.1(자바) (41)
      • LV.2(자바) (23)
    • 프로그래머스(파이썬) (127)
      • LV.0(파이썬) (46)
      • LV.1(파이썬) (51)
      • LV.2(파이썬) (30)
    • 임시저장소 (31)
    • 프로젝트 (0)
    • 자바 알고리즘 (13)
      • 알고리즘 직빵 자바 문법 (10)
      • String(문자열) (3)
    • 파이썬 알고리즘 (93)
      • 알고리즘 직빵 파이썬 문법 (20)
      • 알고리즘 백준 (2)
      • 파이썬 알고리즘(사고력기르기) (6)
      • 파이썬 탐색 & 시물레이션 (8)
      • 이분탐색 & 그리디 알고리즘 (10)
      • 스택, 큐, 해쉬, 힙 (10)
      • 완전탐색과 DFS기초 (12)
      • DFS, BFS 활용 (19)
      • 동적계획법 (6)
    • 자바 (27)
      • Java TPC(생각하고, 표현하고, 코딩하고) (17)
      • Java (중요하고, 이해 안 되고, 어려운) (10)
    • 스프링 (5)
      • 스프링 MVC 패턴 2편 (5)
hELLO · Designed By 정상우.
@@#@@

기록용 블로그

sort() 에서의 key lambda 사용하기 →특이한 정렬★, 문자열 내 마음대로 정렬하기★
임시저장소

sort() 에서의 key lambda 사용하기 →특이한 정렬★, 문자열 내 마음대로 정렬하기★

2022. 12. 17. 12:34

파이썬의 sort() 함수는 오름차순으로 정렬해주는 함수입니다. 문자열 또한 오름차순으로 정렬이 됩니다.

sort(reverse=True) 또는 reverse()를 이용하여 내림차순으로도 구현이 가능합니다.

 
이 글에서는 key 매개변수를 가지는 sort()에 대해 알아보겠습니다.

 
key 매개변수를 가지는 sort() 함수는 key 값을 기준으로 정렬되고 기본값은 오름차순입니다. 또한 lambda식을 사용할 수 있습니다.

 

백준 1181번 문제를 예시로 들어보겠습니다.

 

이 문제 같은 경우 sort(key)를 이용하여 쉽게 구할 수 있습니다.

 

data_list = ['but','i','wont','hesitate','no','more','no','more','it','cannot','wait','im','yours']

#중복 제거
data_list = list(set(data_list))
print(data_list)



#길이가 짧은 순서대로 정렬하되, 
#길이가 같으면 사전 순서대로 정렬→ 안 써줘도 지가 알아서 사전순서대로 정렬
data_list.sort(key=lambda x : len(x))
여기서 x는 data_list의 요소를 의미한다. 
print(data_list)



#첫 번째 요소를 기준으로 오름차순(알파벳순)으로 정렬, 
#첫 번째 요소가 동일한 경우에는 2번째 요소를 기준으로 정렬 
#즉 사전 순서대로 정렬
# data_list.sort()
# print(data_list)

 

 

 

 

 

2차원 리스트를 사용하는 경우

data_list = ['but','i','wont','hesitate','no','more','no','more','it','cannot','wait','im','yours']


for i in range(len(data_list)) : 
    data_len = len(data_list[i])
    print(data_len)
    data_list[i] = (data_list[i], data_len)
    #소괄호는 tuple형태로 집어 넣겠다는 의미 
     
    # data_list[i] = [data_list[i], data_len]
    #대괄호는 list형태로 집어 넣겠다는 의미 
    print(data_list[i])

# data_list.sort(key = lambda x :(x[1], x[0]))
data_list.sort(key = lambda x :[x[1], x[0]])
#대괄호이든 소괄호이든 상관없다. 
print(data_list)

 

출처를 밝힙니다. 

https://kingofbackend.tistory.com/98

 

[Python] sort()에서의 key lambda 사용하기

파이썬의 sort() 함수는 오름차순으로 정렬해주는 함수입니다. 문자열 또한 오름차순으로 정렬이 됩니다. sort(reverse=True) 또는 reverse()를 이용하여 내림차순으로도 구현이 가능합니다. 이 글에서는

kingofbackend.tistory.com

 

 

 

깔끔한 정리

https://velog.io/@aonee/Python-%EC%A0%95%EB%A0%AC-sort-sorted-reverse

 

[Python] 정렬 문법 sort() sorted() reverse

 

velog.io

 

저작자표시 비영리 변경금지 (새창열림)

'임시저장소' 카테고리의 다른 글

2개 리스트에서 일치하는 요소를 찾고 싶은 때→in 연산자★★  (0) 2022.12.18
파이썬 enumerate() 1부터 시작, 시작 인덱스 지정★★  (0) 2022.12.18
10진수를 n진법으로  (0) 2022.12.17
for x, y in arr(2차원 배열) vs for x, y in zip(arr1, arr2)  (0) 2022.12.16
2진수 끼리의 연산★★ (3 | 5) (3 & 5)  (0) 2022.12.16
    '임시저장소' 카테고리의 다른 글
    • 2개 리스트에서 일치하는 요소를 찾고 싶은 때→in 연산자★★
    • 파이썬 enumerate() 1부터 시작, 시작 인덱스 지정★★
    • 10진수를 n진법으로
    • for x, y in arr(2차원 배열) vs for x, y in zip(arr1, arr2)
    @@#@@
    @@#@@
    자바, 스프링, 알고리즘, 깃허브, 파이썬

    티스토리툴바