리스트와 배열의 용어를 혼용해서 사용해왔다..
(사실 리스트가 배열의 영어인줄 알았다ㅠㅠ 멍청 그 자체 ;;)
그렇지만, 리스트와 배열의 차이는 명확하게 존재한다.
가장 먼저 공통점으로 리스트와 배열은 모두 데이터타입 DataType(한국말로는 자료형)의 한 종류이다.
그리고 여러가지 요소들을 묶어주는 것이다.
그러면 리스트와 배열에 대해서 각각 정리를 해보겠다.
1. 리스트 (list)
파이썬에서 추가적인 패키지(package)나 라이브러리(library)를 임포트할 필요 없이 기본 제공되는(built-in) 자료구조이다.
대괄호([ ])로 여러가지 요소들을 담을 수 있다.
그리고 각 요소에 대해 인덱스(index) 값으로 접근할 수 있다.
예시 코드:
fruit_list = ['apple', 'banana', 'pineapple']
num_list = [1,2,3,4,5]
다들 알다시피, 리스트를 만들 때는 리스트를 선언하고 대괄호 안에 요소들을 넣어주면 된다.
리스트의 경우, 다양한 메서드(함수)를 활용할 수 있다.
append() 는 리스트에 요소를 추가하는, 대표적인 list 자료형에서 쓸 수 있는 메서드이다.
fruit_list.append('kiwi')
#이렇게 되면 리스트의 마지막에 'kiwi' 가 추가되어 리스트의 길이는 4가 된다
그리고 리스트의 특정 요소에 접근할 때는 다음과 같이 인덱스 값을 호출하면 된다.
print(fruit_list[0])
# 'apple'
2. 배열 (array)
한편 배열(array)의 경우에는, 추가적으로 array를 임포트 해줘야 활용할 수 있다.
그래서 파이썬에서 배열을 활용하기 위해, 넘파이(numpy) 라이브러리를 임포트하기도 한다.
왜 array를 임포트하기보다 numpy를 임포트하는 경우가 많을까?
=> 사실 이 부분에 대해서는 추후 공부하면서 찾아보고자 한다.
✒ array, list 사용 비교하기
import array as arr
mylist = [1, 2, 3] # 이것은 파이썬 built-in list입니다.
print(type(mylist))
mylist.append('4') # mylist의 끝에 character '4'를 추가합니다.
print(mylist)
mylist.insert(1, 5) # mylist의 두번째 자리에 5를 끼워넣습니다.
print(mylist)
print("------------------------------------------")
myarray = arr.array('i', [1, 2, 3]) # 이것은 array입니다. import array를 해야 쓸 수 있습니다.
print(type(myarray))
# 아래 라인의 주석을 풀고 실행하면 에러가 납니다.
#myarray.append('4') # myarray의 끝에 character '4'를 추가합니다.
print(myarray)
myarray.insert(1, 5) # myarray의 두번째 자리에 5를 끼워넣습니다.
print(myarray)
위의 코드를 실행하면 아래와 같은 결과가 나타난다.
리스트는 array 와는 다르게 연속된 위치가 아닌 떨어진 영역에 저장된다는 점이 가장 큰 차이이다.
👇
참고 :
https://blog.martinwork.co.kr/theory/2018/09/22/what-is-difference-between-list-and-array.html
--
'AIFEEL' 카테고리의 다른 글
[semantic Segmentation] 시맨틱 세그멘테이션으로 도로 영역 검출하기 (0) | 2022.01.05 |
---|---|
[사이킷런] 머신러닝 알고리즘 (0) | 2021.09.27 |
[파이썬] 문자열 다루기 - startswith, endswith (0) | 2021.09.13 |
인코딩과 디코딩의 차이점은? (0) | 2021.09.13 |
[개발자의 필수 툴] Git 와 GitHub 차이점은? (0) | 2021.09.09 |