관리 메뉴

3. 파이썬(Python) 튜플(Tuple) 본문

Python/Python 기본 개념

3. 파이썬(Python) 튜플(Tuple)

ª_ª 2017. 8. 4. 10:04
728x90
반응형


튜플(Tuple)이란?

튜플(tuple)이란 리스트처럼 여러 개의 데이터를 담아두는 데 사용합니다


튜플과 리스트의 차이점은 두 가지가 있습니다.

1) 리스트는 선언을 할 때 대괄호([])’를 사용하지만 튜플은 소괄호(())’를 사용합니다.

2) 리스트는 리스트 내의 값을 생성, 삭제, 변경이 가능하지만 튜플은 그 값을 바꿀 수 없습니다.

 

1. 튜플 사용 방법


1_1. 비어있는 튜플형

>>> t1 = ()

>>> t1

()

 

1_2. 소괄호와 소괄호생략

>>> t4 = (1,2,3)

>>> t5 = 1,2,3

>>> t4

(1, 2, 3)

>>> t5

(1, 2, 3)

 

연속된 값을 이용할 땐 소괄호를 안써도 무방합니다.

 

1_3. 하나의 값만 가질 때

>>> t2 =(1,)

>>> t3 = 1

>>> t2

(1,)

>>> t3

1

 

하나의 값을 가질 때는 (,)를 써야합니다. 쓰지 않게 되면 일반 변수로 분류 됩니다.

 

1_4. 문자형

>>> t6 = ('a','b')

>>> t6

('a', 'b')

 

튜플도 문자형의 값을 가질 수 있습니다.

 

1_5. 이중 튜플형

>>> t7 = ('a','b',('ab','cd'))

>>> t7

('a', 'b', ('ab', 'cd'))

 

이중으로 튜플의 값을 넣을 수 있습니다.

 

튜플과 리스트 무엇을 사용해야 할까요?

앞서 튜플과 리스트 차이점을 본 것처럼 리스트는 튜플이 지원하는 기능을 거의 다 가지고 있지만, 튜플은 리스트의 기능이 많이 빠져있습니다. 튜플과 리스트의 가장 큰 차이점은 값의 변화 가능 여부입니다. , 값을 변화시키고 싶다면 리스트를 사용해야 하고 값을 변화시키고 싶지 않다면 튜플을 사용하면 됩니다.

 

2. 튜플의 값을 변경할 때 


2_1. 튜플의 값 변경

>>> t = (1,2,3,'a','b','c')

>>> t

(1, 2, 3, 'a', 'b', 'c')

>>> t[1]

2


>>> t[1] = 5

Traceback (most recent call last):

File "<pyshell#4>", line 1, in <module>

t[1] = 5

TypeError: 'tuple' object does not support item assignment


>>> t[3] = 'd'

Traceback (most recent call last):

File "<pyshell#5>", line 1, in <module>

t[3] = 'd'

TypeError: 'tuple' object does not support item assignment

 

만약 튜플안의 값을 변경하려고 한다면 위와 같이 오류가 발생합니다.

 

2_2. 튜플의 값 삭제

>>> t

(1, 2, 3, 'a', 'b', 'c')

>>> t[1]

2


>>> t[1] = ()

Traceback (most recent call last):

File "<pyshell#9>", line 1, in <module>

t[1] = ()

TypeError: 'tuple' object does not support item assignment


>>> del t[1]

Traceback (most recent call last):

File "<pyshell#8>", line 1, in <module>

del t[1]

TypeError: 'tuple' object doesn't support item deletion

 

리스트에서 사용했던 삭제 방법을 해보았지만 역시나 오류를 출력합니다.

 

3. 튜플의 인덱싱(Indexing) 및 슬라이싱(Slicing)

- 인덱싱(Indexing)이란 무엇인가를 가르킨다라는 의미입니다.

- 슬라이싱(Slicing)이란 무엇인가를 잘라낸다라는 의미입니다.

 

3_1. 튜플의 인덱싱(Indexing) 사용 하기

>>> t

(1, 2, 3, 'a', 'b', 'c')

>>> t[0]

1

>>> t[3]

'a'

 

3_1. 튜플의 슬라이싱(Slicing) 사용 하기

>>> t

(1, 2, 3, 'a', 'b', 'c')

>>> t[:3]

(1, 2, 3)

>>> t[3:]

('a', 'b', 'c')

 

4. 튜플의 연산자

튜플의 연산자는 ‘+’(더하기)‘*’(반복하기)를 사용할 수 있습니다. (문자열, 리스트와 동일합니다.)

 

4_1. 튜플의 (+) 연산자

>>> t1 = (1, 2, 3)

>>> t2 = ('a', 'b', 'c')

>>> t3 = t1 + t2

>>> t3

(1, 2, 3, 'a', 'b', 'c')

 

4_2. 튜플의 (*) 연산자

>>> t4 = (1,2,3,4)

>>> t5 = t4 * 2

>>> t5

(1, 2, 3, 4, 1, 2, 3, 4)


리스트, 튜플, 딕셔너리 연습문제 풀러가기


 

728x90
반응형
Comments