반응형
튜플(Tuple)은 리스트(List)와 비슷한 것 같지만, 다릅니다. 튜플에 대해서 이번 시간에는 좀 알아보도록 하겠습니다.
튜플(Tuple)
튜플(Tuple)은 파이썬에서 변경할 수 없는(immutable) 자료형으로, 여러 값을 하나로 묶을 수 있는 데이터 자료형입니다. 하지만 리스트(List)와 다른 점은 한 번 생성된 튜플의 요소들은 변경, 추가, 삭제할 수 없다는 것입니다.
튜플(Tuple) 예시
튜플(Tuple)은 리스트(List)를 배웠기 때문에 쉽게 작성할 수 있을 것이라 생각됩니다. 리스트는 대괄호([, ])를 사용한다면, 튜플은 소괄호((,))를 사용합니다. 그러면 예시를 한 번 알아볼까요?
my_tuple = (77, "monkey")
print(type(my_tuple))
print(my_tuple)
my_tuple이라는 튜플 변수의 타입과 my_tuple 자체를 출력하면, 다음과 같이 나옵니다.
리스트에서 가능했던 인덱싱과 슬라이싱 모두 가능합니다.
my_tuple = (77, "monkey", 77)
print(my_tuple[0])
print(my_tuple[:2])
튜플(Tuple)의 주요 특징
튜플의 주요 특징은 다음과 같습니다.
- 불변성(immutable): 튜플은 한 번 생성되면 수정할 수 없습니다.
- 순서가 있는 데이터: 튜플은 순서가 있는 시퀀스이므로 인덱스를 통해 접할 수 있습니다.
- 다양한 자료형 혼합 가능: 튜플은 정수, 문자열, 리스트, 또 다른 튜플 등 다양한 자료형을 요소로 가질 수 있습니다.
- 중복 허용: 튜플의 요소는 중복될 수 있습니다.
- 소괄호 사용: 튜플은 일반적으로 소괄호 ()를 사용하여 정의하지만, 콤마로 구분된 값들로도 암시적으로 튜플을 생성할 수 있습니다.
마지막 소괄호 사용은 잘 이해가 안 갈 수도 있는데, 아래처럼 작성하여도 튜플로 정의할 수 있습니다.
my_tuple = 77, "monkey", (77, "monkey")
print(type(my_tuple))
print(my_tuple)
튜플(Tuple)을 사용하는 이유
튜플을 사용하는 이유는 무엇일까요?
- 불변 데이터 저장: 데이터의 변경을 방지하려는 경우 튜플을 사용합니다.
- 사전 키로 사용 가능: 리스트는 가변적이라서 사전의 키로 사용할 수 없지만, 튜플은 불변이므로 사전의 키로 사용할 수 있습니다.
- 메모리 효율성: 리스트보다 메모리를 적게 차지하며, 처리 속도도 더 빠를 수 있습니다.
튜플(Tuple) 함수
튜플은 불변성을 가지고 있기 때문에 리스트와 달리 몇 가지 제한된 메서드만 지원합니다.
- count(): 튜플 내에서 특정 값이 몇 번 등장하는지 반환
- index(): 특정 값이 처음 등장하는 위치를 반환
my_tuple = (1, 2, 3, 4, 5, 3, 2, 1, 6, 3, 2, 1)
print(my_tuple.count(3))
print(my_tuple.index(6))
참고로 len()도 지원합니다.
my_tuple = (1, 2, 3, 4, 5, 3, 2, 1, 6, 3, 2, 1)
print(len(my_tuple))
마무리
튜플(Tuple)에 대해서 알아보았습니다. 어떠셨나요? 리스트(List)를 접하고 와서 그런지 훨씬 쉽지 않나요? 이제는 리스트와 튜플에 대해서 배웠으니, 헷갈리시면 안 됩니다! 차이점을 명확히 파악하고 때에 따라서 적절하게 사용하시길 바랍니다.
반응형
'개발 > python' 카테고리의 다른 글
[python] 리스트(List) 관련 함수 (0) | 2024.09.21 |
---|---|
[python] 리스트(List) 소개 (0) | 2024.09.20 |
[python] 문자열 관련 함수 (0) | 2024.09.19 |
[python] 문자열 인덱싱과 슬라이싱 (0) | 2024.09.18 |
[python] 문자열 연산 (1) | 2024.09.17 |