python__[sort, sorted, lambda]

9458 단어 pythonTILTIL

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 모두 keyreverse 매개변수를 갖고 있다.
  • 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위 진입 가즈아!!! 🔥🔥🔥

좋은 웹페이지 즐겨찾기