Digking's cave

Python 기초) sort() / sorted() 본문

기초/Python

Python 기초) sort() / sorted()

디깅 2022. 7. 12. 10:16
728x90

sort()

  • 리스트를 정렬해준다.
  • 반환값 : 없음 (기존 리스트를 정렬해주기만 한다 = 원래 리스트를 정렬해서 값 변환)
  • 대문자 -> 소문자 / 알파벳 순서로 정렬된다.
  • 기본은 오름차순 
  • sort(reverse=True) 를 통해 내림차순 가능하다.

예시)

testlist = ["z","a","w"]
testlist.sort()
print(testlist) # ['a', 'w', 'z']

 

sorted()

  • 리스트가 아닌 이터러블 객체를 정렬하여 새로운 리스트로 반환한다.
  • 반환값 : 정렬된 결과를 리스트로 반환(기존 값은 그대로 있고, 정렬된 새로운 리스트를 반환)
  • 기본은 오름차순
  • sorted(reverse=True) 를 통해 내림차순 가능하다.
  • "".join(sorted(문자열)) : sorted()로 문자열 정렬 후 join을 통해 다시 하나의 문자열로 통합 가능하다.

예시)

testtext = "Zbcdef"
sorted(testtext) #	['Z', 'b', 'c', 'd', 'e', 'f']
"".join(sorted(testtext) # Zbcdef

"".join(sorted(s, reverse = True)) # fedcbZ

 

+) KEY parameter를 사용하여 정렬하기

key 를 추가하면 key값을 기준으로 정렬된다.

  • 리스트값.sort(key=기준)
  • sorted(값, key = 기준)

예시)

test_list = ['배고파요', 'haveagoodday', '좋아요', 'niceday']

sorted(test_list, key=len) # ['좋아요','배고파요','niceday','haveagoodday']

이때 lambda를 사용하여 쉽게 정의할 수 있다.

  • 리스트값.sort(key=lambda x:기준)
  • sorted(값, key = lambda x:기준)

예시)

test_list = ['배고파요', 'haveagoodday', '좋아요', 'niceday']

sorted(str_list, key=lambda x : x[1]) #['haveagoodday', 'niceday', '배고파요', '좋아요']

 

복수개의 기준을 설정할 수도 있다.

  • 리스트값.sort(key=lambda x:(기준1,기준2))
  • sorted(값, key = lambda x:(기준1,기준2))
  • -기준 : -를 앞에 붙여주면 역정렬(내림차순)

예시)

 test_list = ['배고파요', 'haveagoodday', '좋아요', 'niceday']
 
  sorted(test_list, key=lambda x : (x[0],x[1]))
  # ['haveagoodday', 'niceday', '배고파요', '좋아요']

 

관련 코딩테스트 연습풀이)

2022.07.12 - [코딩테스트/알고리즘] - 프로그래머스 ) 문자열 다루기 기본 (Python)

 

프로그래머스 ) 문자열 다루기 기본 (Python)

https://school.programmers.co.kr/learn/courses/30/lessons/12918 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞..

diking.tistory.com

2022.07.12 - [코딩테스트/알고리즘] - 프로그래머스) 문자열 내 마음대로 정렬하기 (Python)

 

프로그래머스) 문자열 내 마음대로 정렬하기 (Python)

https://school.programmers.co.kr/learn/courses/30/lessons/12915 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞..

diking.tistory.com

 

반응형