상세 컨텐츠

본문 제목

7. 파이썬 자료형 - 튜플 : 리스트와 다른 점, 인덱싱/슬라이싱/연산

Python/Basic Grammar

by groomi 2022. 3. 21. 18:12

본문

4. 튜플(Tuple)

4.1 튜플과 리스트의 차이점

차이점을 설명하기에 앞서, 튜플은 리스트와 마찬가지로 다양한 요소들을 포함할 수 있는 자료형이다. 

몇 가지 점을 제외하고는 리스트와 비슷하기 때문에 다음 차이점만 익힌다면 리스트에 대한 지식을 기반으로 쉽게 사용할 수 있다.  

- 리스트는 대괄호 [ ]로 둘러싸지만, 튜플은 소괄호 ( )로 둘러싼다. 

리스트와 튜플 만들기

 

- 리스트는 요솟값을 생성, 삭제, 수정하는 것이 가능하지만, 튜플은 요소값의 생성, 삭제, 수정이 모두 불가능하다.

튜플 요솟값 추가 불가

리스트에서 하던 것처럼 append 함수를 사용해서 튜플의 마지막에 새로운 요솟값을 생성하려고 하자, type error가 발생했다. 튜플은 append를 가지고 있지 않다는 메시지가 나온다. append는 리스트 내장함수라는 것을 알았다면 예상 가능한 결과이다. 아무튼, 튜플은 요솟값을 생성할 수 없다는 것!

튜플 요소값 삭제 불가

튜플 요솟값을 삭제하려고 하자, type error가 발생했다. 튜플은 item 삭제가 지원되지 않는다는 설명이 나온다.

튜플 요솟값 수정 불가

튜플의 첫 번째 요솟값을 'a'로 변경하려고 하자, type error가 발생했다. 튜플은 수정이 불가능한 자료형이다.

=> 사실, 튜플은 요솟값을 변화할 수 없다는 것이 리스트와 튜플의 가장 큰 차이점이다. 이 점을 이용하면 프로그래밍을 할 때, 어떤 자료형을 선택해야 할지 알 수 있다. 값의 변경이 필요한 경우라면 리스트를 사용해주어야 한다. 요솟값이 변하지 않고 항상 일정해야한다면, 튜플을 사용하는 것이 안전한다.

 

- 1개의 요소만을 포함할 때는 요소 뒤에 콤마(,)를 반드시 붙여줘야 한다. 

콤마를 붙였을 때는 한 개의 요소만을 포함한 튜플이 만들어졌지만, 콤마를 붙이지 않았을 때는 튜플이 만들어지지 않았다. 그냥 숫자 1이 변수에 저장되기만 했다는 것을 알 수 있다.

 

- 괄호를 생략해도 된다.

튜플 괄호 생략 가능

 

---------------

튜플의 인덱싱, 슬라이싱, 연산 방법은 리스트와 동일하기에, 간단히 예제만 작성할 것이다. 보다 자세한 사항은 리스트 포스팅 참고.

 

4.2 튜플 인덱싱

튜플 인덱싱

 

4.3 튜플 슬라이싱

튜플 슬라이싱

 

4.4 튜플 연산

- 더하기

튜플 더하기

앞서 설명했듯이 튜플은 새로운 요솟값을 생성하지 못한다. 하지만, 더하기를 이용하면 튜플을 합쳐서 원하는 요솟값을 모두 포함한 새로운 튜플을 만드는 것은 가능하다.

- 곱하기

튜플 곱하기

- 튜플 길이 구하기

튜플 길이 구하기

* 여기서 tuple 안에 (3,4)라는 튜플이 하나의 요소로 들어간 것이다. 따라서 길이는 'a', 'b', (3,4) 이렇게 3개인 것이다.

 

 

 

튜플 공부 끝~!

관련글 더보기

댓글 영역