튜플(tuple)


N개의 요소로 된 집합

튜플은 리스트와 비슷한데, 리스트는 요소의 변경이 가능하나 튜플은 변경이 불가능하다. 


ex)

list1 = [1,2,3,4,5]                     

list1[2] = 10

[1,2,10,4,5] 


위의 예제는 리스트의 요소 변경이다. 튜플은 위처럼 요소의 변경이 불가능하다. 


리스트는 sort()로 정렬을 할 수 있지만, 튜플은 요소의 변경이 불가능하기 때문에 해당 메소드가 제공되지 않는다. 또 한, 리스트에는 새로운 요소를 추가하거나 삽입가능하지


만, 튜플은 그게 불가능하다. 


그렇다면 왜 불편하게 변경하지도 못하는 튜플을 쓰는지 의문이 들 것이다. 


우선 변경이 불가능한 자료형은 변경 가능한 자료형에 비해 소프트웨어의 성능을 향상하는데 도움을 준다. 변경 가능한 자료형과는 달리 데이터를 할당 할 공간의 내용이나 크


기가 달라지지 않기 때문에 생성 과정이 간단하고, 데이터가 오염되지 않을 것이라는 보장이 있기 때문에 복사본을 만드는 대신 그냥 원본을 사용해도 되기 때문이다.


또 한 프로그래머가 자기 코드를 신뢰할 수 있다는 것이 가장 큰 장점이다. 수천~수만 줄의 코드를 작성하다 보면 변경되지 않아야 할 데이터를 요염시키는 버그를 만들 가능성


이 높다. 이런 실수를 몇 군데 해놓으면 어디에서 문제가 생겼는지 찾아내기가 상당히 어려워 코드를 설계할 때부터 변경이 가능한 데이터와 그렇지 않은 데이터를 정리해서 코


드에 반영하는 것이 필요하다. 하나 더 말하면 문자열도 튜플처럼 변경이 불가능한 자료형이다. 문자열의 내용을 바꾸고 싶다면 바뀐 내용을 가질 문자열 하나를 새로 만들어야 


한다.


튜플을 만드는 방법


튜플이름 = (요소1,요소2,요소3...)



괄호를 생략해도 튜플로 만들어진다.


요소가 하나인 튜플을 정의하려고 한다면 요소 뒤에 반드시 콤마를 넣어주어야 한다. 다음 그림처럼~



튜플도 리스트처럼 슬라이싱, +연산자를 이용한 결합이 가능하다.


튜플의 슬라이싱



튜플의 +



튜플의 +연산은 가능하지만 참조연산을 이용한 요소 변경은 불가능하다 ex) a[0]=100; X


패킹 - 여러가지 데이터를 튜플로 묶는것을 튜플 패킹이라고 한다.



언패킹 - 각 요소를 여러개의 변수에 할당하는 것을 튜플 언패킹 이라고 한다.



언패킹을 할 시 튜플 요소의 수와 각 요소를 담아낼 변수의 수가 일치해야 한다. 만족하지 못한다면 오류가 발생함 !


튜플은 변형이 불가능한 자료형이라서 제공하는 메소드가 index()와 count() 두 개 뿐이다.


index() - 매개변수로 입력한 데이터와 일치하는 튜플 내 요소의 첨자를 알려준다. 찾고자 하는 데이터와 일치하는 요소가 없으면 오류를 일으킨다.



count() - 매개변수로 입력한 데이터와 일치하는 요소가 몇 개 있는지 센다.







'programming > Python' 카테고리의 다른 글

Python // 분기문  (0) 2017.11.25
Python // 사전(Dictionary)  (0) 2017.11.23
Python // 리스트(list)  (0) 2017.11.21
Python // 문자열  (0) 2017.11.20
Python // 비교(bool), 숫자형  (0) 2017.11.19

+ Recent posts