Python 기초

시퀀스 자료형

시퀀스란?

파이썬에서 리스트는 넓게 보면 시퀀스(sequence) 자료형에 속합니다.

시퀀스에 속하는 자료형들은 순서를 가진 요소들의 집합이라는 공통적인 특성을 가지고 있으며 문자열, 리스트, 튜플이 모두 시퀀스의 일종입니다.

공식적으로 시퀀스 자료형에는 다음과 같은 6가지의 자료형이 있습니다.

  • 문자열
  • 바이트 시퀀스
  • 바이트 배열
  • 리스트
  • 튜플
  • range 객체

 

문자열, 리스트, 튜플, 바이트, range 객체들은 상당히 다르게 보이지만, 자세히 살펴 보면 다음과 같은 공통적인 특징을 가지고 있습니다.

  • 요소들은 순서를 가지고 있습니다.
  • 요소들은 인덱스를 사용하여 참조할 수 있습니다.

 

간단한 예로 문자열과 리스트를 비교해봅시다.

text = "Will is power."
print(text[0], text[3], text[-1])

flist = ["apple", "banana", "tomato", "peach", "pear"]
print(flist[0], flist[3], flist[-1])

 

<실행 결과>

W l .
apple peach pear

 

문자열과 마찬가지로 리스트도 인덱싱이 가능하다는 것을 알 수 있습니다.

다른 언어와는 다르게 파이썬은 시퀀스에 해당되는 자료형에는 동일한 연산자와 함수를 사용할 수 있습니다.

예를 들어 문자열의 길이나 리스트의 길이는 len() 이라고 불리는 함수로 계산할 수 있습니다.

text = "Will is power."
print(len(text))

flist = ["apple", "banana", "tomato", "peach", "pear"]
print(len(flist))

 

<실행 결과>

14
5

 

시퀀스에서 가능한 연산과 함수

리스트에서 사용할 수 있는 연산자와 함수는 무척 많습니다. 그 중에서도 가장 많이 사용되는 연산자나 함수는 다음과 같습니다.

함수나 연산자 설명 결과
len() 길이 계산 len([1, 2, 3]) 3
+ 2개의 시퀀스 연결 [1, 2] + [3, 4, 5] [1, 2, 3, 4, 5]
* 반복 ['Welcome!'] * 3 ['Welcome!', 'Welcome!', 'Welcome!']
in .소속 3 in [1, 2, 3] True
not in 소속하지 않음 5 not in [1, 2, 3] True
[] 인덱스 myList[1] myList의 1번째 요소
min() 시퀀스에서 가장 작은 요소 min([1, 2, 3]) 1
max() 시퀀스에서 가장 큰 요소 max([1, 2, 3]) 3
for 루프 반복

for x in [1, 2, 3]: print(x)

1 2 3