본문 바로가기

코드이야기/Python

[파이썬] 시퀀스 자료형의 기초

문자열, 리스트, 튜플 같은 자료형을 시퀀스(Sequence) 자료형이라고 합니다. 시퀀스 자료형에 포함된 각 객체는 순서를 가지고, 인덱스(Index)를 사용하여 참조할 수 있습니다. 파이썬에서 문자열(String)은 작은 따옴표 ' '나 큰 따옴표 " "로 묶어 표시하고, 리스트(List)는 대괄호 [ ], 튜플(Tuple)은 소괄호 ( )로 묶어 표시합니다. 각 자료형은 고유한 특성들을 가지기도 하지만, 공통적으로 적용되는 특성들이 있습니다.

인덱싱(Indexing)

인덱싱이란 시퀀스 데이터에서 오프셋(Offset)으로 하나의 객체를 참조하는 것을 말합니다. 여기서 인덱스는 정수이며, 0에서 부터 시작합니다. 1이 아니라 0에서 부터라는 것을 잊지 마세요. 예를 들면 다음과 같습니다.

>>> a = 'I love python'
>>> a[0]
'I'
>>> a[1]
' '
>>> a[3]
'o'

슬라이싱(Slicing)

슬라이싱이란 시퀀스 데이터에서 일정 영역의 새로운 데이터를 만드는 것을 말합니다. 슬라이싱은 시작오프셋, 끝 오프셋, 그리고 간격을 지정하여 사용할 수 있습니다. 이 역시 첫 오프셋의 인덱스는 0입니다.

>>> b[1:3]
[2, 3]
>>> b[:]
[1, 2, 3, 4, 5]
>>> b[:-1]
[1, 2, 3, 4]
>>> b[::-1]
[5, 4, 3, 2, 1]

연결하기(Concatenation)

연결하기는 같은 시퀀스 자료형인 두 객체를 연결하는 것을 말합니다. 연결은 + 연산자를 사용합니다.

>>> c = [6, 7, 8, 9, 10]
>>> d = b + c
>>> d
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

반복하기(Repetition)

반복하기는 * 연산자를 사용하여 시퀀스 자료형을 여러 번 반복해서 붙이는 것을 말합니다.

>>> c * 4
[6, 7, 8, 9, 10, 6, 7, 8, 9, 10, 6, 7, 8, 9, 10, 6, 7, 8, 9, 10]
>>> b * 3
[1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
>>> a * 2
'I love pythonI love python'

멤버 검사(Member Check)

멤버 검사란 어떤 객체가 시퀀스 자료형에 포함되어 있는지 여부를 검사하는 것을 말합니다. 결과는 'True' 또는 'False'를 반환합니다.

>>> 'python' in a
True
>>> 'tho' in a
True

길이 정보(Length Information)

시퀀스 객체 안에 있는 전체 요소(Element)들의 개수를 얻기 위해 길이 정보를 사용합니다. 길이 정보를 사용하기 위해서는 파이썬 내장 함수인 len()을 사용하면 됩니다.

>>> len(s)          # 'I love python'
13
>>> len(b)          # [1, 2, 3, 4, 5] 
5
>>> len(c)          # [6, 7, 8, 9, 10]
5
>>> len(d)          # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
10

시퀀스 자료형의 기초에 대해 이야기 해보았습니다. 시퀀스 자료형은 여러가지로 활용 가능합니다. 활용하는 방법에 대해서는 계속 이야기 하도록 하겠습니다.