Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 시퀀스 데이터 타입 완벽 정리: 문자열, 리스트, 튜플부터 range까지

시퀀스(Sequence)란 무엇인가?

시퀀스는 여러 개의 값을 체계적이고 효율적인 방식으로 저장할 수 있게 해주는 파이썬의 핵심 데이터 구조입니다. 파이썬에는 다양한 시퀀스 타입이 있으며, 대표적으로 문자열(str), 유니코드 문자열, 리스트(list), 튜플(tuple), 바이트 배열(bytearray), 그리고 range 객체가 있습니다.

반면 딕셔너리(dictionary)집합(set)은 순서가 없는(non-sequential) 데이터를 담는 컨테이너이기 때문에 시퀀스와는 구별됩니다.

주요 시퀀스 타입의 특징

공식 파이썬 문서를 기준으로 각 시퀀스 타입의 특징을 살펴보겠습니다.

1. 문자열(String)

문자열은 변경 불가능한(immutable) 유니코드 코드 포인트의 시퀀스입니다. 한 번 생성된 문자열은 수정할 수 없으며, 새로운 문자열을 만드는 방식으로만 값을 변경할 수 있습니다.

2. 리스트(List)

리스트는 변경 가능한(mutable) 시퀀스로, 일반적으로 성격이 같은(homogeneous) 항목들의 컬렉션을 저장하는 데 사용됩니다. 요소의 추가, 삭제, 수정이 자유롭기 때문에 가장 널리 활용되는 자료형입니다.

3. 튜플(Tuple)

튜플은 변경 불가능한 시퀀스로, 서로 다른 성격의(heterogeneous) 데이터를 하나로 묶어 저장하는 데 적합합니다. 대표적인 예로 내장 함수 enumerate()가 반환하는 2-튜플(인덱스, 값) 형태를 들 수 있습니다.

4. 바이트 배열(Bytearray)

바이트 배열 객체는 변경 가능(mutable)하며, 공통적인 bytes 및 bytearray 연산에 더해 가변 시퀀스 연산까지 지원합니다. 이미지 파일 등 바이너리 데이터를 다룰 때 유용합니다.

5. range 객체

range 타입은 변경 불가능한 숫자 시퀀스를 나타냅니다. 주로 for 반복문에서 특정 횟수만큼 코드를 실행할 때 사용되며, 메모리를 효율적으로 사용한다는 장점이 있습니다.

시퀀스 타입 한눈에 비교하기

타입변경 가능 여부주요 용도
문자열(str)불가능텍스트 데이터 저장
리스트(list)가능동종 항목 컬렉션 관리
튜플(tuple)불가능이질적 데이터 묶음 보관
바이트 배열(bytearray)가능수정 가능한 바이너리 데이터 처리
range불가능반복문용 숫자 시퀀스 생성

마무리

각 시퀀스 타입은 '변경 가능 여부'와 '저장하려는 데이터의 성격'에 따라 용도가 달라집니다. 데이터를 자주 수정해야 한다면 리스트나 bytearray를, 한 번 정한 값을 안전하게 유지해야 한다면 문자열이나 튜플을 선택하는 것이 좋습니다. 상황에 맞는 시퀀스 타입을 선택하면 더욱 효율적이고 안정적인 파이썬 코드를 작성할 수 있습니다.