[파이썬 자료구조] 1. 배열 (Array)

sosimeow·2022년 2월 1일
1

Python Data structure

목록 보기
1/3
post-thumbnail



Python 자료구조를 A to Z 복습 해보자 ! 🐈



0. Python

파이썬의 변수는 실제 데이터가 저장되는 공간 자체가 아니라 데이터가 메모리상에서 위치하는 주솟값이 저장되는 공간이다


위의 이미지는 interest로 시작하는 변수가 str 값들의 위치를 가르키는 (binding) 것을 시각화한 자료이다. 출처


위와 같이 변수에 원하는 정보를 저장할 수 있지만, 만약 100개의 정보를 저장한다면 100개의 변수가 필요한 불편함이 있다


이를 해결하기 위해 Python은 여러 데이터를 한 번에 저장할 수 있는 list 라는 기본 자료구조를 제공한다.


Python의 list는 Data Structure의 Array의 기능을 제공한다 !



  🚩 0-1 Data Structure in Python


파이썬 자료구조에는 위의 사진처럼 Python에서 제공하는 것
과, 이를 활용해 사용자가 구현할 수 있는 기능 이 있다




이 포스팅 시리즈에서는 다른 언어와 같이 기본적인 자료구조를 파이썬을 통해 구현해 이해하는 식으로 작성할 예정이다

그러니까 사진 속 Built-in Data Structures이 아닌 User-Defined Data Structures를 다룰 예정인 것 이다 🌞


이미지출처






1. What is an Array?

배열 이란 하나의 변수에 하나 이상의 values를 가질 수 있는 것이다.

데이터들을 나열하고, 배열 속 각 데이터들에 index로 접근할 수 있다 위에서도 말했지만, 파이썬의 list가 이 기능을 가진다

  🚩 1-1 Need of Using Array


  1.  같은 종류의 데이터를 효율적으로 관리하기 위해
  2.  같은 종류의 데이터를 순차적으로 저장
  3.  인덱스 번호를 사용한 데이터 접근 가능

배열의 필요성 3가지를 알아보았다

그런 1, 2의 같은 종류의 데이터를 저장/관리한다는 내용은
파이썬 list에는 해당되지 않는다


# 예시 list
list1 = ['velog', 1, 1.0, True]

예시 list1처럼 str, int, float, bool 각기 다른 종류의 데이터도 저장이 가능하다


즉 Python 에서 배열은 다량의 데이터를 순차적, 효율적으로 저장&관리하고, 인덱스를 사용해 직접 접근하기 위해 사용한다





2. Try Array


  🚩 2-1 list array


#1차원 배열
list = [1,2,3,4,5]
print(list)
#2차원 배열
list2 = [[1,2,3],[4,5,6],[7,8,9]]
print(list2)

1차원 배열과 2차원 배열을 생성해 보았다


# 빈 list
list3 = []
list4 = list()

빈 list를 생성하기 원한다면 위와 같이 2가지 방법이 있다




  🚩 2-2 Adding & Removing


# 요소 추가
list3.append(1)

데이터를 추가하는 방법이다


# 요소 삭제
list3.pop(1)
list3.remove(1)

데이터를 삭제하는 방법이다

pop은 데이터를 빼오는 개념으로, list에서 데이터를 삭제하면서 동시에 삭제한 데이터를 out 한다

remove는 단순히 list에서 데이터를 삭제하는 기능이다


list2 = [0, 0, 0, 1, 2]
list2.pop(0)
list2 = [0, 0, 0, 1, 2]
list2.remove(0)

위와 같이 삭제하는 데이터와 같은 값이 배열안에 여러개 있을 경우 결과는 어떨까?

사진과 같이 배열의 가장 앞 데이터만 삭제 한다

그러니까 pop 또는 remove로 0을 배열에서 모두 지우고 싶다면 3번씩 해주면 된다


배열 속 데이터를 모두 삭제하고 싶다면 clear을 하면 된다




  🚩 2-3 Index


list에서 index는 0부터 시작한다

즉 가장 첫번째 요소의 index는 0이다

이미지 출처


1차원 배열에서 index 접근은 너무 쉬우니 2차원을 알아보자

2차원 배열의 첫 번째 index 0으로 접근하면
첫 행인 [1, 2 ,3] 을 binding 함을 알 수 있다

즉 2차원에서의 첫번째 요소인 [1, 2, 3] 을 가르킨다


2차원 배열이므로 위의 사진처럼 [0][0] 처럼 2개의 index로 1차원 요소에 접근할 수 있다

[0][0] 은 첫 행 내의 첫 요소인 1을 out 함을 볼 수 있다


즉 앞의 index는 2차원의 요소를 접근, 뒤의 index는 접근한 1차원에서의 요소 접근이다






이상으로 자료구조의 기본이 되는 array에 대해 알아보는 포스팅이었다


기본적이고 쉬운 내용이지만, 가장 자주 쓰이고 모든 자료구조의 근간이 되므로 정리를 통해 개념을 더욱 다지는 시간이 된듯 하다 ⛄

profile
데이터 엔지니어 ing

2개의 댓글

comment-user-thumbnail
2022년 2월 1일

Array, 이해 완료

1개의 답글