파이썬 정렬, 다중 조건으로 한 번에 하기.
파이썬으로 문제를 풀다보면, 여러 조건으로 소팅을 해야하는 경우가 있다. 일반적인 소팅은 다음과 같이 sorted() 혹은 .sort() 를 사용한다. a = [4,1,2,5,7,3,6] b = sorted(a) # b = [1,2,3,4,5,6,7] sorted() 를 찬찬히 살펴보면 다음과 같다. a = [(1, 2), (0, 1), (5, 1), (5, 2), (3, 0)] # 인자없이 그냥 sorted()만 쓰면, 리스트 아이템의 각 요소 순서대로 정렬을 한다. b = sorted(a) # b = [(0, 1), (1, 2), (3, 0), (5, 1), (5, 2)] # key 인자에 함수를 넘겨주면 해당 함수의 반환값을 비교하여 순서대로 정렬한다. c = sorted(a, key = lambd..
파이썬 Asterisk(*)에 대해서
머신러닝을 위한 파이썬 워밍업을 수강하던 와중에, Asterisk(*) 에 관해, 새롭게 알게된게 있어서 적어본다. 파이썬 오픈소스들 보다보면, 함수 정의할 때 인자에 *args 식으로 인자가 정의되어있는 식으로 *을 종종본다. 사실 이전 포스트에서도 적었듯, 이 쓰임새를 아예 몰랐던 건 아닌데, 이번 강좌를 통해 더 깊이 알게되었다. 사실, Asterisk라고 부르는 것도 처음알게 되었다. 용도와 쓰임새를 하나씩 다시 복습해보자. 1. * 인자는 함수 내에서 튜플이다. 가장 직관적인 예는 다음과 같다. def a(*args): print(type(args)) print(args) a(1,2,3,4) # output: # # (1, 2, 3, 4) 보다시피 튜플이다. 따라서, 내부에서 list처럼 mut..