파이썬 내장 함수 zip 구현
개요 iterable한 객체들을 인덱스에 맞게 묶어주는 내장 함수인 zip. 이러한 파이썬의 유용한 내장 함수인 zip의 기능은 어떻게 구현된 것일까? 우선 zip의 기능을 눈으로 확인해보자. zip의 기능 arr = [1,2,3,4,5] names = ["Kim", "Lee", "Hong"] zip_arr = [data for data in zip(arr, names)] print(zip_arr) # -> [(1, 'Kim'), (2, 'Lee'), (3, 'Hong')] 위와 같이 zip은 2개 이상의 itrerable한 객체를 인덱스에 맞게 묶어준다. 중요한 건, 객체끼리 길이가 맞지 않는다면 가장 짧은 길이를 가진 객체를 기준으로 묶이기 때문에 모든 데이터가 묶이지 않을 수 있으니 유의하자. 가장..
2차원 배열을 1차원 배열로 변환하는 방법
1. sum 함수를 사용하여 1차원 배열로 변환하기 num_list = [[0, 1, 1, 0, 1, 0, 0], [0, 1, 1, 0, 1, 0, 1] # 2차원 배열에서 1차원 배열로 num_list = sum(num_list, []) 결과값은 num_list => [0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1] 이렇게 변환될 수 있는 이유는 sum 함수의 계산 과정에 있다. 보통 sum 함수는 sum(iterable)로 많이 사용되어, iterable 객체에 있는 요소들의 합을 반환해준다. 하지만, sum 함수에는 2개의 파라미터를 넣을 수 있다. sum(iterable, start) start는 간단히 말하면, iterable의 sum 값에 start를 더해줄 것이라는..