시퀸스 데이터 타입

hyeh·2022년 7월 28일
0

파이썬 기초

목록 보기
1/5

시퀀스 데이터 타입(Sequence Types)은 순서가 있으며 인덱싱이 가능하다. 기본적인 시퀀스 데이터 타입에는 list, tupel, range가 있다.

  • 인덱싱 : 순서(index)로 값에 접근하는 것
  • 파이썬의 index는 0부터 시작하며 -1로 시퀀스 타입의 맨 마지막 요소에 접근할 수 있다
  • list, tupel슬라이싱이 가능하다.
  • 슬라이싱 : 순서(index)로 일부분만 선택하는 것

List

생성과 인덱싱

  • 다른 값(또는 여러 값)을 하나의 덩어리로 묶는데 사용되는 데이터 타입이다.
  • [대괄호]에 저장할 숫자나 문자열 등의 데이터를 쉼표(,)로 분리해 담는다.
a = [1, 2, 3, 4, 5]
a
# [1, 2, 3, 4, 5]
a[0] # 1
a[-1] # 5
  • 리스트의 요소로 리스트가 올 수도 있다. (튜플이 올 수도 있다)
  • 이 경우 리스트 안의 리스트를 인덱싱하여 값에 접근할 수 있다.
a = [1, 2, 3, [4, 5]]
a[3] # [4, 5]
a[3][0] # 4
a[3][1] # 5

슬라이싱

  • 슬라이싱은 : 기준으로 앞의 index는 포함, 뒤의 index는 포함하지 않는다.
a = [1, 2, 3, 4, 5]
a[1:3] # [2, 3] => 1번 인덱스는 포함하고 3번 인덱스는 포함하지 않음

합치고 길이 구하기

  • 리스트끼리는 + 연산자를 통해 하나의 리스트로 합칠 수 있다.
  • "데이터의 길이가 궁금해!" 리스트의 길이는 내장함수인 len()을 사용해 구할 수 있다.
a = [1, 2, 3]
b = [4, 5, 6]
a+b # [1, 2, 3, 4, 5, 6]
len(a) # 3

수정과 삭제

  • 리스트는 변경 가능한 타입(mutable type)으로 데이터 값의 수정과 삭제가 가능하다.
a = [1, 2, 3, 4, 5]
a[2] = 33
a # [1, 2, 33, 4, 5]
del a[2]
a # [1, 2, 4, 5]

Tupel

생성과 인덱싱

  • 리스트와 매우 유사하지만 리스트와는 달리 수정이 불가능하다는 차이점이 있다. 때문에 구한 데이터 값이 변경되면 안 될 때 주로 사용한다.
  • (괄호)에 저장할 데이터 값을 쉼표(,)로 분리해 담는다
a = (1, 2, 3, 4, 5)
a
# (1, 2, 3, 4, 5)
a[0] # 1
a[-1] # 5
  • 튜플의 요소로 튜플이 올 수도 있다. (리스트가 올 수도 있다)
  • 이때 튜플 안의 튜플을 인덱싱해 값에 접근할 수 있다.
a = (1, 2, 3, (4, 5))
a[3] # (4, 5)
a[3][0] # 4
a[3][1] # 5
  • 슬라이싱 사용법, + 연산자 활용 합치기, 내장함수 len()로 길이를 구하는 것은 list와 같다!
  • 튜플은 변경이 불가능한 타입임으로 수정할 수 없다.
  • 단, 튜플의 요소가 리스트형이라면 리스트형 자체에 접근해 값을 변경할 수는 있다.
a = (1, 2, 3, [4, 5])
a[3][0] = 44
a # (1, 2, 3, [44, 5])

Range

  • 레인지는 연속적인 숫자를 나타내는 타입이며 값을 수정할 수 없다.
  • 시퀀스 데이터 타입이기 때문에 인덱싱, 슬라이싱, 내장함수 len()을 이용한 길이 확인은 가능하다.
  • 보통 for 반복문에서 자주 사용된다.
  • range(시작, 종료+1)로 생성할 수 있다.
  • 출력할 때는 list형으로 바꿔서 출력한다
r = range(0, 10) # 0부터 9까지 (10 전까지)
list(r) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
r[0] # 0
r[-1] # 9
len(r) # 10
r[:3] # range(0, 3) => 0, 1, 2
r[3:] # range(3, 10)
profile
좌충우돌 천방지축 룰루랄라 데이터 공부

0개의 댓글