[python] 배열 - 동적 배열 (Dynamic Array)

해니·2022년 11월 26일

python

목록 보기
2/2
post-thumbnail

🍊 동적 배열 (Dynamic Array)

  • 힙 영역에 저장되는 배열
  • 힙 영역은 프로그래머가 원하는 만큼 크기를 할당 받을 수 있기 때문에, 많은 메모리가 필요한 순간이 오면 더 큰 공간을 확보하여 이전 배열 요소를 모두 복사한 후 새로운 데이터를 삽입할 수 있음
  • 마지막에 데이터를 추가하거나 삭제하는 경우를 제외하고는 성능이 떨어짐
  • 인덱싱을 이용하여 해당 인덱스 데이터에 빠르게 접근할 수 있음




🍎 파이썬의 리스트 (list)


개념

  • 자료들을 목록 형태로 관리하는 자료형
  • 순서가 존재하며 , 리스트 안의 값을 수정할 수도 있음
  • 리스트명 = [요소1, 요소2, 요소3, ... ]

함수 (메서드)


1. 빈 리스트 확인

  • 파이썬에서 빈 리스트는 거짓을 의미함
  • 메서드는 따로 존재하지 않고 리스트 자체만으로 is_empty() 연산의 결과를 얻을 수 있음

>>> list1 = []
>>> list2 = [1,2,3]

>>> if not list1:
>>>    print("list1 is empty")
>>>
>>> if list2:
>>>     print("list2 is not empty")
    
list1 is empty
list2 is not empty



2. 리스트에 요소 추가

  • append() : 리스트의 마지막에 원소를 추가하는 연산을 수행함

>>> a = [1,2,3]                                    
>>> a.append(4)
>>> a
[1, 2, 3, 4]
>>> a.append([5,6])
>>> a
[1, 2, 3, 4, [5, 6]]

3. 리스트에 요소 삽입

  • insert(index ,element) : 리스트의 중간에 원소를 추가하는 연산
>>> a = [1,2,3]
>>> a.insert(0,4)
>>> a
[4, 1, 2, 3]

4. 리스트 요소 꺼내기

  • pop(index) : 매개변수로 인덱스를 전달하면 리스트의 인덱스 위치에 있는 요소를 리턴하고, 해당 요소는 삭제함. 매개변수 값이 없는 경우 맨 마지막 요소를 리턴하고 삭제함.

>>> a = [1,2,3]
>>> a.pop()
3
>>> a      
[1, 2]  
>>> a = [1,2,3]
>>> a.pop(1)
2
>>> a
[1, 3]



출처
(책) 파이썬으로 배우는 자료 구조의 핵심원리
https://wikidocs.net/14
https://planharry.tistory.com/14https://codechacha.com/ko/python-check-empty-list/

profile
💻 ⚾️ 🐻 이전했어요..! ➡️ https://dev-haeni.tistory.com/

0개의 댓글