은근 많다. 모르면 바보 되는 파이썬 내장 함수들... 특유의 간편함에서 오는 문법 자체의 함축성도 C 계열을 공부하던 사람이 처음 보면 당혹할만한 표기들이 많다. 이런 것들을 지금이라도 하나씩 정리해보려고 한다.
두 개 이상의 리스트를 인덱스가 같은 값을 하나 하나 대응시켜 튜플로 만들고, 이 튜플로 이루어진 리스트를 반환한다.
labels_map = list(zip([-1, 1], [1,2,3,5,6,7,9], ['alice', 'bob', 'charlie']))
print(labels_map)
[(-1, 1, 'alice'), (1, 2, 'bob')]
각 요소를 하나씩 돌면서 양수면 1, 음수면 -1, 0이면 0으로 표기해 새로운 리스트 하나를 리턴한다.
arr = np.array([-4,-3,-2,-1,0,1,2,3,4])
np.sign(arr)
array([-1, -1, -1, -1, 0, 1, 1, 1, 1])
원하는 축으로 차원을 하나 더 늘린다. 1차원의 배열을 예로 들면 axis는 다음과 같다.
array([[1, 2, 3, 4, 5]])
array([[1],
[2],
[3],
[4],
[5]])
감이 잘 안잡히겠지만, 그냥 axis 인자는 '크기를 1로 고정할 곳' 정도로 생각하면 아무 문제 없다. 예컨대 (2,4) 크기의 배열에 대해 expand_dims 실행 결과는 다음과 같다.