본문 바로가기
Data Science

[데이터 사이언스: Python] 시퀀스 자료형 Data Type Sequence (str, list, tuple)

by 한입만쥬 2023. 6. 6.

지난 포스트에 이어서 파이썬 자료형 기초에 대한 내용 정리를 해보겠습니다. Sequence 데이터 타입들에 대해 알아보시죠!


Sequence 시퀀스 자료형

파이썬 데이터 타입 세 번째 대분류는 시퀀스입니다. 번역하면 '순서가 있는 값들을 가진 객체'라고 생각할 수 있습니다.

시퀀스는 여러 개의 값을 효과적으로 관리하기 위한 객체입니다. 

대표적으로 str, list, tuple 정도로 나눌 수 있습니다. 그럼 하나씩 살펴보며 생성하는 방법까지 알아볼까요? 


str (문자열)

문자열이 시퀀스라고? 네. 문자열은 text sequence입니다. 한 단어 안에 문자 하나하나가 순서가 있고, 붙어 있다고 생각하면 돼요. 

 

문자열은 '' 작은 따옴표, "" 큰 따옴표, '''작은따옴표, """큰 따옴표 세 개로 생성할 수 있습니다.

저는 기본적으로 문자열을 생성할 때는 ''을 사용합니다. 여러 줄에 문자열을 쓰고 그것을 그대로 표현할 때는 따옴표 세 개로 멀티라인 문자열을 사용합니다.

str1 = '일반 문자열 생성할 때 사용'
multi_str1 = '''
여러 줄에 
프린트 되는
멀티라인 
문자열
'''

추가로, 저는 혼자 코딩 연습할 때 여러 줄로 작성하는 것이 편할 때 # 대신 ''' 세 개를 써서 코멘트 용도로 사용하기도 합니다.


list 리스트

list는 순서가 있으며 중복되는 값이 허용되는 데이터 타입입니다. 

# [값, 값, 값]
a = [5, 4, 3, 2, 3, 1]
print(f'a = {a}')
print(type(a))

리스트는 [] 대괄호 안에 원하는 값들을 넣고 쉼표로 구분해 주면 돼요. 참 쉽죠?

대괄호 안에 아무것도 안 적어 놓으면 빈 리스트를 선언하는 것과 마찬가지! 

리스트는 서로 다르거나 같은 타입의 자료형을 원소로 가지도록 선언할 수 있어서, ['head', 1, 4.31, False, 'body'] 이런 식으로도 사용이 가능하다는 점! 

 

리스트를 만들어 놓고 sort, insert, pop, remove와 같은 내장 함수를 사용해서 요소를 추가하거나 정렬할 수도 있습니다. 


tuple 튜플 

튜플 자료형은 리스트랑 똑같이 순서가 있고, 중복도 가능합니다. 다만 수정과 삭제가 불가능합니다!!

처음에는 이게 개념이 이해하기 어려웠는데, list는 열고 닫을 수 있는 서랍장이고 tuple은 잠겨 있어서 안에 뭐가 들었는지 확인만 할 수 있는 유리 금고라고 생각하면 되더라고요. 

변경이 불가능하기 때문에, 절대 변경되면 안되는 값이 있다면 튜플로 선언하면 되겠어요. 

 

튜플 선언 방법은 아래 예시처럼 소괄호 또는 쉼표를 사용하는 것입니다!  

# (값)
a = (1, 2, 3)
print(a)
print(type(a))
# a.append(4) -> 불가능

위 코드에 주석으로 적어놓은 것처럼, 튜플은 sort, insert 등의 내장 함수가 없습니다. (수정이 불가능하기 때문!)

 

 

튜플은 패킹과 언패킹도 가능합니다.

# packing
print('\n\npacking:')
f = 1, 2, 3
print(f)
print(type(f))

# unpacking
print('\n\nunpacking:')
g, h, i = f
print(g)
print(h)
print(i)

위 코드처럼 패킹, 언패킹을 해서 실행 할 경우에 나오는 결과값은:

packing:
(1, 2, 3)
<class 'tuple'>


unpacking:
1
2
3

정말 신기하지 않나요?! 다음 포스트는 파이썬 자료형의 마지막 내용인 set과 mapping 에 대한 내용으로 컴백하겠습니다~!