배열이란? 데이터를 연속적인 메모리 공간에 저장하고, 저장된 곳의 주소(address, reference)를 통해 매우 빠른 시간에 접근할 수 있는 가장 많이 쓰이는 기본적인 자료구조 C언어의 배열(Array) 크기가 고정되어 있으며, 한 번 생성한 배열은 크기를 변경하는 것이 불가능하다. 배열의 시작 주소, 저장된 값의 종류(바이트 개수), 몇 번째에 저장되어 있는지를 나타내는 인덱스(index) 세 가지 정보만으로 값이 저장된 곳의 주소를 계산할 수 있다. 읽기와 쓰기 연산에 O(1) 시간 소요 Python의 리스트(List) C의 배열의 셀에는 실제 값(데이터)이 저장된 형식이지만, Python 리스트의 셀에는 데이터가 아닌 데이터가 저장된 곳의 주소(address 또는 reference)가 저장된..
리스트을 순회하는 과정에서 데이터를 변경하다가 에러가 나는 경우는 굉장히 잦다. 특히 그 중에서 삭제는 가장 까다롭다. 이때, 리스트 표현식과 슬라이싱을 활용하여 데이터를 변경할 수 있다. 문제 예제 lost = [2,4]; reserve = [1,2,5] for i in range(len(reserve)): if reserve[i] in lost: del reserve[i] print(reserve) ''' Traceback (most recent call last): File "main.py", line 3, in if reserve[i] in lost: IndexError: list index out of range ''' 해결방법 리스트 표현식(List Comprehension) + 슬라이싱 lo..