파이썬

Python 05. Collection Type(Tuple)

아리벱 2024. 3. 13. 17:26

리스트에 이어 튜플에 대해서 소개할까 합니다.

리스트와 튜플, 튜플과 리스트는 많은 공통점이 있어 차이점이 없다라고 자칫 오해할 수 있습니다. 그러나 아예 같다면 리스트와 튜플을 구분하지 않았겠죠??

 

튜플과 리스트의 공통점 및 차이점을 살펴보도록 합시다!

1. 튜플

여러 가지 데이터 타입의 값을 저장할 수 있는, 변경 불가능(immutable)한 순서가 있는 컬렉션입니다.

 

 1. 튜플 생성

튜플은 괄호 () 사용하여 생성하고, 항목들은 쉼표 , 구분됩니다.

 

  •  튜플은 만드는 방법은 크게 세 가지입니다. 소괄호('(  )')를 이용하는 방법, tuple() 함수를 이용하는 방법, ,(comma/콤마)를 이용하여 나열하는 방식입니다.

 

  2. 튜플 인덱싱

  튜플의  항목은 위치(인덱스) 가지고 있으며, 인덱스를 사용하여 접근할  있습니다. 인덱스는 0부터 시작합니다.

 

  •   리스트와 마찬가지로 튜플의 인덱싱을 통해 값을 추출했다면 하나의 차원이 감소합니다.  
  •   이번에는 튜플안에 튜플이 포함되어있는 2차원 구조도 살펴볼게요.

2차원 인덱싱 해석하는 방법 : 

tu5[2][0]인 경우 인덱스 번호 2번째인 악어와 케이크가 담겨 있는 튜플입니다. 그 중 0번째 인덱스는 악어이기 때문에 tu5[2][0]은 악어이모지이며 타입은 string(문자열)입니다.

 

  3. 튜플 슬라이싱

  튜플의 일부분만을 추출할  있습니다.

  • 리스트와 마찬가지로 튜플 또한 슬라이싱을 통해 일부 추출하면 차원이 일정합니다.

 

  4. 튜플 연산

  튜플 간의 + 연산으로 리스트를 결합할  있고, * 연산으로 리스트를 반복할  있습니다.

  튜플끼리의 덧셈과 뺄셈은 튜플끼리의 결합입니다. 값끼리의 연산을 원한다면 인덱싱을 이용하는 방법이 있습니다.

 

  5. 튜플 언패킹

 튜플의 항목들은 변수들에 할당될  있습니다. (리스트도 가능하지만 튜플에서 많이 사용되므로 튜플에서 소개합니다.)

  6. 튜플 멤버 확인

   in 연산자를 사용하여 튜플에 특정 값이 있는지 확인할  있습니다. (리스트도 가능합니다.)

 

  7. 튜플 오름차순 및 내림차순

   리스트에서 소개했던 메소드들은 리스트에서만 사용가능하며 튜플에서는 사용불가합니다. 따라서 list.sort()를 사용할 수 없는 대신 sorted() 함수를 사용하여 오름차순과 내림차순으로 정렬 가능합니다.

    sorted() 함수의 반환형은 리스트이기 때문에 튜플로 변환을 하여 다시 변수에 저장해야 튜플인 점을 잊지 맙시다!

 

자 이렇게 리스트, 튜플을 익혀보았습니다. 

이해가 안되는 부분이나 틀린 부분 있으면 댓글로 부탁드릴게요~