Python 05. Collection Type(Tuple)
리스트에 이어 튜플에 대해서 소개할까 합니다.
리스트와 튜플, 튜플과 리스트는 많은 공통점이 있어 차이점이 없다라고 자칫 오해할 수 있습니다. 그러나 아예 같다면 리스트와 튜플을 구분하지 않았겠죠??
튜플과 리스트의 공통점 및 차이점을 살펴보도록 합시다!
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() 함수의 반환형은 리스트이기 때문에 튜플로 변환을 하여 다시 변수에 저장해야 튜플인 점을 잊지 맙시다!
자 이렇게 리스트, 튜플을 익혀보았습니다.
이해가 안되는 부분이나 틀린 부분 있으면 댓글로 부탁드릴게요~