imhamburger 님의 블로그

파이썬(Python) - 시퀀스 자료형, 리스트와 튜플 본문

파이썬(Python)

파이썬(Python) - 시퀀스 자료형, 리스트와 튜플

imhamburger 2024. 6. 13. 11:55

리스트는 변할 수 있는(mutable) 속성이며, 튜플은 (immutable) 변할 수 없는 속성을 가지고 있다.

따라서 리스트는 넣고 빼고 삭제하고 추가하고 다 가능하지만, 튜플은 불가능하다.

 

list1 = [1, 2, 3, 4, 5]
list1.pop()
5
[1, 2, 3, 4]

 

리스트에서 쓸 수 있는 함수 중에 pop이 신기해서 조금 끄적여본다.

pop은 맨 뒤의 요소를 가져오면서 그와 동시에 리스트에서 삭제시킨다.

다른 append, extend 등 함수와는 다르게, 요소를 가져오면서 리스트 안에서도 삭제시키는 2가지 일을 동시에 한다.

그게 조금 신기한 부분이다.

 

#()소괄호가 없어도 튜플이다.
tuple1 = 1, 2, 3, 4, 5

 

tuple은 원래 ()소괄호를 쓰는 것이 정석?이지만, 굳이 쓰지않아도 파이썬에서 튜플로 인식한다.

 

아니 그러면 조금 더 수정가능성이 있는 리스트를 쓰지 굳이 튜플을 써야하나?

리스트는 변할 수 있는 속성이기 때문에 그에 따른 초과 할당까지 고려해서 메모리에 데이터를 저장할 수 있는 신경을 써야하지만, 튜플은 빠르게 만들 수 있고 리스트보다 메모리 부담이 적은 대신 변경할 수 없는 단점이 있다.