티스토리 뷰
파이썬 정렬 함수 sorted()
sorted()에 대해 가볍게 배우고 알고리즘 문제 풀어보기
숫자, 문자 모두 정렬이 가능하다.
>>> a = [2, 5, 1, 9, 7]
>>> sorted(a)
[1, 2, 5, 7, 9]
>>> b = 'zbdaf'
>>> sorted(b)
[ 'a', 'b', 'd', 'f', 'z' ]
정렬된 값드를 다시 문자로 만들려면 join()으로
>>> b = 'zbdaf'
>>> '',join(sorted(b))
'abdfz'
sorted()는 key = option을 지정해 정렬을 위한 키 또는 함수를 별도로 지정할 수 있다.
key = len 이면 길이 기준으로 정렬이 된다는 의미이다.
>>> c = [ 'ccc' , 'aaaa', 'd', 'bb']
>>> sorted(c, key=len)
>>> [ 'd', 'bb', 'ccc', 'aaa'].
함수를 이용해 key를 정의할 수 있다.
a = ['abc', 'cfc', 'abc',]
def function(s):
# 첫 문자열 s[0] 과 마지막 문자열 s[-1] 순으로 정렬해주세요.
return s[0], s[-1]
print(sorted(a, key=function)
# 함수로 조건을 넣지 않았다면 abc, cde, cfc 로 출력이 됐을 것이다.
[ 'abc', 'cfc', 'cde']
'람다표현식'을 사용하여 함수를 별도 지정하지 않고 한 줄로 처리할 수 있다.
람다함수란? > 익명함수(Anonymous function )
lambda 매개변수 : 표현식
즉 def로 함수를 정의할 필요 없이 한줄로 해결할 수 있게 된다. 많은 사용은 가독성이 떨어질 수 있으니 주의해서 쓸 필요가 있다.
ex)
일반 함수표현식
>>> def hap(x, y):
... return x + y
...
>>> hap(10, 20)
30
람다표현식
>>> (lambda x,y: x + y)(10, 20)
30
>>> a = ['abc', 'cfc', 'abc',]
>>> sorted(a, key=lambda s: (s[0], s[-1]))
[ 'abc', 'cfc', 'cde']
배운걸로 알고리즘 풀어보기
!!!! 문제 풀기전 List, Dictionary 개념을 모른다면? !!!
https://algoroot.tistory.com/50
이 밖에 더 필요한 개념들은 문제마다 필요한 개념의 링크를 첨부하겠다.
문제풀어보기
https://algoroot.tistory.com/49
Reference :
[책만] 파이썬 알고리즘 인터뷰,
'Python' 카테고리의 다른 글
[python] 파이썬의 자료형 List, Dictionary 리스트,딕셔너리 (0) | 2022.03.12 |
---|
- Total
- Today
- Yesterday
- css
- 타입스크립트
- 자바스크립트 클로저
- github
- javascript
- GIT
- 항해99
- 리액트
- React
- network
- 리액트네이티브
- html
- 자바스크립트
- 모두를 위한 컴퓨터 과학
- 백준
- cs50
- 클로저
- React Query
- 네트워크
- reactquery
- 알고리즘자바스크립트
- 프로그래머스
- 무한스크롤
- 프로그래머스 자바스크립트
- python
- 자바스크립트 비동기 처리
- 모두를위한컴퓨터과학
- 프로그래머스 베스트앨범 자바스크립트
- 자바스크립트알고리즘
- 실전프로젝트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |