튜플(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 |