python__[sort, sorted, lambda]
On.
sort / sorted
리스트변수.sort()
- 원본을 변형시켜 정렬한다.
- 정렬 기준은 문자열은 알파벳, 가나다순이고 숫자는 오름차순이 기본값이다.
arr = [5, 1, 3, 2, 4]
arr.sort()
print(arr)
>>
[1, 2, 3, 4, 5]
sorted()
- 정렬된 결과를 반환하고, 원형을 변형시키지 않는다.
- 괄호 안에 반복 가능한 iterable 자료형을 입력하여 사용한다.
ex. list, tuple, str, dict
- 정렬 기준은 sort와 같다.
arr = [5, 1, 3, 2, 4]
print(sorted(arr))
>>
[1, 2, 3, 4, 5]
parameter (key와 reverse)
- sort, sorted 모두
key
와 reverse
매개변수를 갖고 있다.
- reverse가 True면 내림차순, False면 오름차순이다.
- key는 정렬의 기준을 정하는 매개변수이다.
arr = [5, 1, 3, 2, 4]
num_list.sort(reverse=True)
print(num_list)
>>
[5, 4, 3, 2, 1]
str_list = ['좋은하루','good_morning','굿모닝','niceday']
## 문자열의 두번째 element를 기준으로 정렬
print(sorted(str_list, key=lambda x : x[1]))
>>
['niceday', 'good_morning', '굿모닝', '좋은하루']
## 문자열의 길이를 기준으로 정렬
str_list.sort(key=len)
print(str_list)
>>
['굿모닝', '좋은하루', 'niceday', 'good_morning']
- lambda
✔️ 람다는 함수 표현식이다.
✔️ 밑에 함수를 다음과 같이 람다식으로 나타내어 사용할 수 있다.
def foo(x, y):
return x+y
lambda x, y: x+y
✔️ 가끔 람다가 아래와 같이 사용이 되는데,
arr = ['cde', 'cfc', 'abc']
sorted(arr)
>>
['abc', 'cde', 'cfc']
sorted(arr, key=lambda s: (s[0], s[-1]))
>>
['abc', 'cfc', 'cde']
✔️ 이는 s[0] 값을 기준으로 오름차순 정렬을 하되, s[0] 값이 같을 때 s[-1] 값을 기준으로 다시 오름차순 정렬을 하겠다는 표현 방법이다!
Off.
프로그래머스 100위 진입 가즈아!!! 🔥🔥🔥
Author And Source
이 문제에 관하여(python__[sort, sorted, lambda]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@hongin/pythonsort-sorted-lambda
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
리스트변수.sort()
- 원본을 변형시켜 정렬한다.
- 정렬 기준은 문자열은 알파벳, 가나다순이고 숫자는 오름차순이 기본값이다.
arr = [5, 1, 3, 2, 4]
arr.sort()
print(arr)
>>
[1, 2, 3, 4, 5]
sorted()
- 정렬된 결과를 반환하고, 원형을 변형시키지 않는다.
- 괄호 안에 반복 가능한 iterable 자료형을 입력하여 사용한다.
ex. list, tuple, str, dict - 정렬 기준은 sort와 같다.
arr = [5, 1, 3, 2, 4]
print(sorted(arr))
>>
[1, 2, 3, 4, 5]
parameter (key와 reverse)
- sort, sorted 모두
key
와reverse
매개변수를 갖고 있다. - reverse가 True면 내림차순, False면 오름차순이다.
- key는 정렬의 기준을 정하는 매개변수이다.
arr = [5, 1, 3, 2, 4]
num_list.sort(reverse=True)
print(num_list)
>>
[5, 4, 3, 2, 1]
str_list = ['좋은하루','good_morning','굿모닝','niceday']
## 문자열의 두번째 element를 기준으로 정렬
print(sorted(str_list, key=lambda x : x[1]))
>>
['niceday', 'good_morning', '굿모닝', '좋은하루']
## 문자열의 길이를 기준으로 정렬
str_list.sort(key=len)
print(str_list)
>>
['굿모닝', '좋은하루', 'niceday', 'good_morning']
- lambda
✔️ 람다는 함수 표현식이다.
✔️ 밑에 함수를 다음과 같이 람다식으로 나타내어 사용할 수 있다.
def foo(x, y):
return x+y
lambda x, y: x+y
✔️ 가끔 람다가 아래와 같이 사용이 되는데,
arr = ['cde', 'cfc', 'abc']
sorted(arr)
>>
['abc', 'cde', 'cfc']
sorted(arr, key=lambda s: (s[0], s[-1]))
>>
['abc', 'cfc', 'cde']
✔️ 이는 s[0] 값을 기준으로 오름차순 정렬을 하되, s[0] 값이 같을 때 s[-1] 값을 기준으로 다시 오름차순 정렬을 하겠다는 표현 방법이다!
프로그래머스 100위 진입 가즈아!!! 🔥🔥🔥
Author And Source
이 문제에 관하여(python__[sort, sorted, lambda]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hongin/pythonsort-sorted-lambda저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)