본문 바로가기
개념정리

파이썬 리스트? 배열?

by 카뮤 2021. 1. 9.

파이썬 의 배열을 표현하기 위해서 파이썬의 기본 컨테이너 자료형인 리스트(list)를 사용한다.

 

파이썬에서는 기본 컨테이너 자료형인 리스트(list)가 존재한다. 자료구조에서 말하는 linked list의 특성을 가지고 있다.파이썬 list의 다른점이라고 하면 원소들이 메모리 공간이 연속으로 배치가 되어있다는 점이다. 이러한 부분에서 C,자바 언어의 Array 개념이 파이썬에서는 list자료형이라고 생각하면된다.

C,자바 언어 같은경우는 배열의 크기가 정해지면 나중에 변경이 불가 하지만 파이썬 리스트는 크기변경이 가능하다. 이러한 점에서 파이썬 리스트를 동적배열(Dynamic Array)이라고 한다.

즉 파이썬 리스트는 array 장점과 list를 모두 가지고 있다.

 

그렇다면 파이썬에는 C,자바에서 사용하는 array개념인 정적배열은 없는가?

list와 달리 따로 import 해줘야된다.

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)

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)

<class 'list'>

[1, 2, 3, '4']

[1, 5, 2, 3, '4']

<class 'array.array'>

array('i', [1, 2, 3])

array('i', [1, 5, 2, 3])

 

 

리스트 생성

list_a = [1, 2]  # 1,2 정수를 가진 리스트
list_b = ['3', '4'] '3','4' 문자열를 가진 리스트
print(list_a, list_b)

[1, 2] ['3', '4']

 

 

원소값 변경하기

list_123 = [1, 2, 3]
list_123[0] = 0  # 0인덱스의 값을 0으로 변경
print(list_123)

[0, 2, 3]

 

 

 

append() 값을 하나씩 추가한다.

remove()  특정 값을 뺀다

pop() 인덱스의 자리 값을 제거한다.

list_123 = [1, 2, 3]
list_123.append(4) # 리스트에 4를 추가한다.(추가된 4는 마지막자리에 놓인다.)
print(list_123)

list_123.remove(4) # 인자값(4)를 리스트에서 제거한다.
print(list_123) 

list_123.pop(0) # 0인덱스 자리의 값을 제거한다.
print(list_123)

[1, 2, 3, 4]

[1, 2, 3]

[2, 3]

 

 

리스트 길이 구하기 len()

a = [1, 2, 3]
len(a)

3

 

 

 

리스트관련 함수 : wikidocs.net/14

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

 

댓글