Python Data Structure (2) - Tuple

에이블·2022년 2월 4일
0

파이썬

목록 보기
5/20

본 게시물은 코드프레소의 code.PRESS-UP 체험단 과정을 담은 게시물입니다.

해당 게시물 수강강좌 :

금융 데이터 분석을 위한 파이썬 프로그래밍

금융 데이터 분석을 위한 파이썬 프로그래밍 시작하기

https://www.codepresso.kr/course/51

이전 포스팅은 파이썬 자료구조 중 리스트에 대한 내용이였습니다.
이번 포스팅은 튜플에 대한 내용입니다.

코드프레소 강좌를 통해 튜플에 대해 알아봅시다.

튜플(Tuple)

튜플(Tuple)은 몇 가지를 제외하고 리스트와 거의 비슷하다.

리스트와 다른 점은 다음과 같다.

표현법

  • 리스트는 [ ]으로 둘러싸지만 튜플은 ( )으로 둘러싼다.
  • 리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없다.
>>> t1 = ()
>>> t2 = (1,)
>>> t3 = (1, 2, 3)
>>> t4 = 1, 2, 3
>>> t5 = ('a', 'b', ('ab', 'cd'))
  • 단지 1개의 요소만을 가질 때는 요소 뒤에 콤마(,) 필수
  • 괄호( )를 생략해도 무방

얼핏 보면 튜플과 리스트는 비슷한 역할을 하지만 프로그래밍을 할 때 튜플과 리스트는 구별해서 사용하는 것이 유리하다.

튜플과 리스트의 가장 큰 차이는 값을 변화시킬 수 있는가 여부이다.

즉 리스트의 항목 값은 변화가 가능하고 튜플의 항목 값은 변화가 불가능하다.

📍 프로그램이 실행되는 동안 그 값이 항상 변하지 않고 값이 바뀔까 걱정하고 싶지 않다면 튜플
📍 반대로 수시로 그 값을 변화시켜야할 경우라면 리스트

실제 프로그램에서는 값이 변경되는 형태의 변수가 훨씬 많기 때문에 평균적으로 튜플보다는 리스트를 더 많이 사용한다.

튜플 다루기

기본적으로 튜플은 지우고 수정이 불가능하다. 수정이나 삭제를 하려해도 지원하지 않고 오류가 발생한다.

튜플은 값을 변화시킬 수 없다는 점만 제외하면 리스트와 완전히 동일하다.

코드프레소 강좌를 통해 꼼꼼하게 살펴보겠다.

인덱싱

문자열, 리스트와 마찬가지로 t1[0], t1[3]처럼 인덱싱이 가능하다.

>>> t1 = (1, 2, 'a', 'b')
>>> t1[0]
1
>>> t1[3]
'b'

슬라이싱

t1[1]부터 튜플의 마지막 요소까지 슬라이싱하는 예이다.

>>> t1 = (1, 2, 'a', 'b')
>>> t1[1:]
(2, 'a', 'b')

더하기

>>> t1 = (1, 2, 'a', 'b')
>>> t2 = (3, 4)
>>> t1 + t2
(1, 2, 'a', 'b', 3, 4)

곱하기

>>> t2 = (3, 4)
>>> t2 * 3
(3, 4, 3, 4, 3, 4)

길이 구하기

>>> t1 = (1, 2, 'a', 'b')
>>> len(t1)
4

튜플은 요소값이 수정/삭제가 안된다는 점만 빼면 리스트와 흡사한 자료구조이다.

이전에는 올바르지 못한 개념을 접근 했었는데
코드프레소 강의를 통해 다시 개념을 명확하게 잡고 넘어갈 수 있었습니다.

다음 포스팅에 알아볼 데이터구조는 집합(Set) 입니다.
역시 코드프레소 강의를 통해 알아보겠습니다.

profile
꺾이지 않는 마음

0개의 댓글