[파이썬] 시퀀스 자료형

dobi·2020년 9월 27일
0

파이썬

목록 보기
5/5

1. 개념 및 내용

(1) 시퀀스 자료형이란?

  • 값이 연속적으로 이어져 있는 자료형
  • list, tuple, range, 문자열, bytes, bytearray

(2) 특징

  • 공통된 동작과 기능을 제공
  • 시퀀스 자료형으로 만들어진 객체는 시퀀스 객체라 한다.

(3) 값 확인

  • 값 in 시퀀스객체 : 값이 있으면 True 반환, 없으면 False 반환
  • 값 not in 시퀀스객체 : 값이 있으면 False 반환, 없으면 True 반환

(4) 시퀀스 객체 연결

  • range를 제외한 시퀀스 객체들은 +연산자로 객체 연결이 가능하다.
  • 물론 리스트는 리스트끼리, 튜플은 튜플끼리 종류가 같아야 한다.
  • 시퀀스객체1 + 시퀀스객체2 = 시퀀스객체3
  • range의 경우에는 list(range(0,10)) 나 tupe(range(0,10))로 감싸주면 +연산자로 객체 연결이 가능하다.

(5) 시퀀스 객체 반복

  • range를 제외한 시퀀스 객체들은 *연산자로 객체 반복이 가능하다.
  • 객체 안에 요소들이 반복되는 것
  • 물론 리스트는 리스트끼리, 튜플은 튜플끼리 종류가 같아야 한다.
  • 시퀀스객체1 * 정수 = 시퀀스객체2
  • range의 경우에는 list(range(0,10)) 나 tupe(range(0,10))로 감싸주면 *연산자로 객체 반복이 가능하다.

(6) 시퀀스 자르기(slice)

  • 모든 시퀀스 객체들은 slice가 가능하다.

a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
s = slice(4, 7) # 인덱스 4부터 6까지 자르는 slice 객체 생성
input(입력) : a[s]
output(출력) : [40, 50, 60]

r = range(10)
input(입력) : r[s]
output(출력) : range(4, 7)

hello = 'Hello, world!'
input(입력) : hello[s]
output(출력) : 'o, '

(7) slice 요소 할당

  • tuple, range, 문자열은 할당 불가능
  • slice로 여러 요소를 지정하여 값 할당 가능
  • 범위 지정의 경우 그대로 요소 값만 변경

a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
a[2:5] = ['a', 'b', 'c']
input(입력) : a
output(출력) : [0, 10, 'a', 'b', 'c', 50, 60, 70, 80, 90]

  • 범위에 비해 바꾸는 요소가 적을 경우

a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
a[2:5] = ['a']
input(입력) : a
output(출력) : [0, 10, 'a', 50, 60, 70, 80, 90]

  • 범위에 비해 바꾸는 요소가 많을 경우

a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
a[2:5] = ['a', 'b', 'c', 'd', 'e']
input(입력) : a
output(출력) : [0, 10, 'a', 'b', 'c', 'd', 'e', 50, 60, 70, 80, 90]

0개의 댓글