본문 바로가기

코딩

[Python] 시퀀스 자료형 (문자열, list, tuple)

1. 시퀀스 자료형

파이썬의 시퀀스 자료형은 3가지다.

3가지의 공통점은 '순서'가 있다는 것이며, 그렇기에 '인덱싱' '슬라이싱'이 가능하다.

 

▪️ 문자열

▪️ 리스트

▪️ 튜플

 

 

2. 인덱싱/슬라이싱

Example

▪️ 문자열 : "Tstory"

▪️ 리스트 : [1, 5, 2, 6, 8, 9]

▪️ 튜플 : ('a', 'b', 'c,', 'e', 3, 'f')

 

이때 인덱스는 아래와 같다.

인덱스 0 1 2 3 4 5
역순 인덱스 -6 -5 -4 -3 -2 -1
ex. 문자열 T s t o r y
ex. 리스트 1 5 2 6 8 9
ex. 튜플 a b c e 3 f

 

 

아래는 위 인덱스를 이용한 인덱싱/슬라이싱 방법이다.

예시) a = [1, 5, 2, 6, 8, 9]

작업 내용 코드 결과
순방향 인덱싱 a[1] 5
역방향 인덱싱 a[-3] 6
전체 슬라이싱 a[:] [1, 5, 2, 6, 8, 9]
부분 슬라이싱
*주의 : end 인덱스 전까지 추출됨
① a[2:]
② a[2:4]
③ a[:-2]
① [2, 6, 8, 9]
② [2, 6]
[1, 5, 2, 6]
건너뛰며 슬라이싱 a[0:5:2] (start:end:step) [1, 2, 8]

 

 

3. 문자열

예시) a = "Na,Mo,Ya"  b=['a', 'p', 'c']

작업 내용 코드 결과
문자열 분할하여 리스트로 전환 a.split(,) (구분자) ['Na', 'Mo', 'Ya']
리스트를 합쳐 문자열로 전환 ① ' '.join(b)
② '&'.join(b)
① a p c
② a&p&c

 

 

4. 리스트 (List)

작업 내용 코드 결과
리스트 생성 ① a = []
② a = list()
③ a = [1, 3, 7, 1]
① a = []
② a = []
③ a = [2, 3, 7, 1]
요소 추가 (맨 뒤) a.append(2) a = [2, 3, 7, 1, 2]
요소 추가 (위치 지정) a.insert(3, 9) (위치, 값) a = [2, 3, 7, 9, 1, 2]
리스트 확장 a.extend([11, 12])
b = a + [11, 12]
a = [2, 3, 7, 9, 1, 2, 11, 12]
b = [2, 3, 7, 9, 1, 2, 11, 12]
요소 삭제 (가장 앞) a.remove(2) a = [3, 7, 9, 1, 2, 11, 12]
요소 삭제 (위치 지정) del a[5:] a = [3, 7, 9, 1, 2]
요소 삭제 (output) a.pop(1) (위치) 7
요소 정렬 a.sort() a = [1, 2, 3, 9]
요소 역정렬 a.sort(reverse=True)
a.reverse
a = [9, 3, 2, 1]
요소 정렬 (output) c = sorted(a) a = [9, 3, 2, 1]
c = [1, 2, 3, 9]
요소 수정 a[0] = 1 a = [1, 3, 2, 1]
요소 조회 (output) 4 in a False
요소 개수 카운팅 (output) a.count(1) 2
리스트 길이 (output) len(a) 4
리스트 반복 확장 (output) f = a*3 f = [1, 3, 2, 1, 1, 3, 2, 1, 1, 3, 2, 1]

 

*리스트 특징

특징 예시 결과
리스트 요소는 다양한 자료형으로 섞여 있을 수 있음 a = [1, 'hi', 7, 1, [4, 5, '6']]  
중첩 인덱싱으로 요소를 뽑을 수 있음 a[4][1] 5

 

 

5. 튜플 (Tuple)

작업 내용 코드 결과
리스트 생성 ① a = ()
② a = (1,)
③ a = (1, 2, 3)
④ a = 1, 2, 3, 4
① a = ()
② a = (1, )
③ a = (1, 2, 3)
 a = (1, 2, 3, 4)
**거의 대부분의 list methods를 사용할 수 있음

**사용하지 못하는 methods는 아래와 같음
>>> (추가/삭제/수정) append,  insert, remove, del, pop, sort, 수정

**튜플을 수정하고 싶다면
>>> a = list(a) 처럼 리스트로 전환해서 수정 후 재전환해야 함

 

*튜플 특징 (리스트 특징과 동일)

특징 예시 결과
튜플 요소는 다양한 자료형으로 섞여 있을 수 있음 a = (1, 'hi', 7, 1, (4, 5, '6'))  
중첩 인덱싱으로 요소를 뽑을 수 있음 a[4][1] 5