2장 파이썬 프로그래밍의 기초 [자료형] 

튜플형 자료형

- 튜플(tuple)이란

리스트와 비슷하지만 몇가지 다른점이 있다.

(1) 리스트는 [] 로 생성하고, 튜플은 ()로 생성한다 + () 도 생략이 가능하다.

(2) 리스트는 요소 값의 생성, 삭제, 수정이 가능하지만 튜플은 불가능하다.

t1 = (1, 2, 'a', 'b')
t2 = 3, 'c'

print(t1)		# 출력결과 : (1, 2, 'a', 'b')
print(t2)		# 출력결과 : (3 'c')

- 튜플 인덱싱

튜플을 만들 때 꼭 같은 데이터 타입으로 만들 필요는 없다. 튜플 안에 튜플을 포함 할 수도 있다.

t3 = (1, 2, 'dokev', 'archive')
t4 = (1, 2, ('dokev', 'archive'))

print(t3[2])    	 # 출력결과 : dokev
print(t4[2])    	 # 출력결과 : ('dokev', 'archive')
print(t4[2][1])	# 출력결과 : archive'

- 튜플 슬라이싱

리스트과 마찬가지로 튜플도 슬라이싱 기법을 사용해서 나눈다. t5[0:2] 의 경우 인덱스 번호 0번부터 2번 전까지 리스트를 가져온다는 의미로 사용된다. 또한 t5[:2] 는 처음부터 인덱스 2번 전까지, t5[2:] 는 인덱스 2번부터 끝까지 튜플을 가져온다.

t5 = (1, 2, 3, 4, 5)
print(t5[0:2])	# 출력결과 : [1, 2]

b = t5[:2]
c = t5[2:]

print(b)	# 출력결과 : [1, 2]
print(c)		# 출력결과 : [3, 4, 5]

 

- 튜플 연산하기

(1) 튜플 더하기 (+) : 튜플a 와 튜플b를 더하면 모든 요소를 튜플안에 담으면 된다.

t1 = (1, 2, 'a', 'b')
t2 = 3, 'c'

print(t1 + t2)	# 출력결과 : (1, 2, 'a', 'b', 3, 'c')

(2) 튜플길이 구하기 : len() 함수 사용

t1 = (1, 2, 'a', 'b')
t2 = 3, 'c'

print(len(t1+t2))	# 출력결과 : 6

- 튜플 요소 컨트롤

(1) 요소 수정 : t1[0]의 요솟값을 1에서 'c'로 바꿀 수 없다. 요솟값을 수정하려고 하면 'tuple' object does not support item assignment 오류가 발생하는 것을 볼 수 있다.

t1 = (1, 2, 'a', 'b')
t1[0] = 'c'
# TypeError: 'tuple' object does not support item assignment 오류 발생

(2) 요소 삭제(del) : t1[1] 에 해당하는 값을 삭제할 수 없다. 요솟값을 삭제하려고 하면 'tuple' object does not support item deletion 오류가 발생하는 것을 볼 수 있다.

t1 = (1, 2, 'a', 'b')
del t1[0]
# TypeError: 'tuple' object doesn't support item deletion 오류 발생

그 외에도 append(추가), sort(정렬), reverse(뒤집기), insert(삽입), remove(제거), pop(꺼내기), extend(확장) 등은 사용할 수 없고, index(인덱스반환), count(해당요소갯수) 는 확인할 수 있다.

 


 

+ Recent posts