-
반응형
파이썬의 튜플(tuple) 자료형은 리스트와 비슷한 개념 입니다. 그럼 왜 리스트만 있으면 되지 왜 튜플 자료형도 있을까요?
리스트는 요소값들의 변경이 가능하지만 튜플은 변경이 불가능합니다. 따라서 요소값이 고정일때 사용합니다.
값이 변경되면 안되는 리스트 자료형에 사용하면 유용합니다.
● 튜플 자료형은 어떻게 사용합니까?
리스트는 [ ] 로 표현 되었지만, 튜플은 ( ) 로 사용합니다.
요소값 접근 방식은 리스트와 동일합니다.
이전 포스팅을 참고하세요.
[IT 이야기 공간/프로그램 언어 및 Database] - 파이썬 기초 데이터 유형 – 리스트 자료형
>>> x = ( 1, 3, 5.5 , 'hello')
>>> print(x)
(1, 3, 5.5, 'hello')
>>> type(x)
>>> print(x[2])5>>> print(x[-1])hello>>> x[1] = 6 --> 튜플이므로 값 변경시 오류 발생
Traceback (most recent call last):
File "", line 1, in x[1] = 6
TypeError: 'tuple' object does not support item assignment
>>> y = [1, 3, 5]
>>> y[1] = 6 --> 리스트는 값이 변경 됨
>>> print(y)
[1, 6, 5]
>>>위 예제에서 튜플 정의는 [ ] 대신 ( ) (괄호) 를 사용하는 것만 다를 뿐 요소값 정의와 접근 방법은 리스트와 동일 합니다.
튜플은 한번 정해진 요소값은 변경 할 수 없다고 했습니다. 2번째 값을 변경 할 경우 오류가 발생 합니다.
튜플도 리스트 처럼 리스트안에 리스트를 포함 할 수 있듯이 튜플안에 튜플을 포함 할 수 있습니다. 요소값 접근 방법은 리스트와 동일합니다.
>>> x = ( 1, 3, 5, (2, 4, 6) )
>>> print (x[3][0])
2
>>> x = 1, 2, 3, 4, 5 --> 튜플은 괄호를 생략하고 정의 할 수 있습니다.
>>> print(x)
(1, 2, 3, 4, 5)
>>> x = (1) --> 튜플은 하나의 요소값으로는 정의 되지 않습니다.
>>> type(x) 하나의 값을 지정하고 싶다면 예제와 같이 콤마(,) 하나를 더 붙여 줍니다.
<class 'int'>
>>> x = (1, )
>>> type(x)
<class 'tuple'>
>>>튜플은 요소값 변경은 안되지만 연산으로 요소를 추가 할 수 있습니다.
>>> x = (1, 2, 3 )
>>> x = x + ( 4, 5) --> 더하기 연산으로 요소값을 추가 합니다.
>>> print(x)
(1, 2, 3, 4, 5)
>>> x * 2 --> 곱하기로 요소값을 추가 합니다.
(1, 2, 3, 4, 5, 1, 2, 3, 4, 5)튜플은 여러 개의 변수를 선언 할 경우 사용합니다.
>>> a, b, c, d = (1, 2, 3, 4)
>>> print(a)
1
>>> print(b)
2
>>> print(c)
3
>>> print(d)
4튜플은 함수에서 여러 개의 결과 값을 리턴하고 받을 경우 사용합니다.
함수는 아직 포스팅하지 않았지만 간단히 사용법만 기억해 두세요.
def multi_ret( ):
…..
…..
return 3, 4, 5
(x, y, z) = multi_ret()
튜플 형 변환을 할 수 있습니다.
>>> tuple( [ 1, 2, 3, 4 ]) -> 리스트를 튜플로 형변환
(1, 2, 3, 4)
>>> tuple("12345") -> 문자열을 튜플로 형변환. 원래 문자열이었음으로 요소값이 문자로 변경됩니다. 숫자형이 아닙니다.
('1', '2', '3', '4', '5')튜플 요소값의 개수 구하기
내장 함수인 len을 사용하면 요소 값의 개수를 알 수 있습니다.
>>> x = ( 'a', 'bc', 'accd', 1 )
>>> len(x)
4
>>> x = ( 1, 2, 3, (1, 2 ) )
>>> len(x)
4
>>>반응형'IT 이야기 공간 > 프로그램 언어' 카테고리의 다른 글
파이썬 기초 데이터 유형 – 집합 ( Set ) 자료형 (0) 2020.06.03 파이썬 기초 데이터 유형 – 딕셔너리 ( Dictionary ) 자료형 (0) 2020.06.02 파이썬 기초 데이터 유형 – 리스트 자료형 (0) 2020.05.29 파이썬 기초 데이터 유형 – Bool 자료형 (0) 2020.05.28 파이썬 기초 데이터 유형 – 문자열 자료형 (0) 2020.05.27