CodeGym /행동 /Python SELF KO /튜플 (Tuple)

튜플 (Tuple)

Python SELF KO
레벨 8 , 레슨 1
사용 가능

10.1 튜플과 그 속성

튜플은 Python의 네 가지 내장 컬렉션 타입 중 하나야.

이미 알겠지만, Python에는 객체 그룹을 저장할 수 있는 몇 가지 내장 데이터 타입이 있어. 이를테면 list — 리스트, tuple — 튜플, set — 집합, dictionary — 딕셔너리. 오늘은 두 번째고 가장 단순한 것 중 하나인 튜플을 볼 거야.

튜플 (tuple)은 여러 요소를 저장할 수 있어. 요소마다 순서가 있어서 튜플은 정렬돼 있어 — ordered. 이 부분에서 리스트와 비슷해.

튜플은 변경할 수 없어 — 만들어진 후 변경되지 않기 때문에 프로그램 내에서 변경되지 않아야 하는 데이터를 저장하기에 좋아. 그래서 두 번째 특징은 불변성 (immutable).

중복된 요소에 대해서는 — 튜플에는 동일한 요소를 여러 번 저장할 수 있어 — allow duplicates. 다시 말해서, 리스트와 매우 비슷해.

유용해. 튜플을 리스트 대신 둥근 괄호 ()를 사용하는 불변 리스트라고 생각할 수 있어.

10.2 튜플 생성

튜플은 불변하는 요소의 시퀀스이며, 여러 가지 방법으로 생성할 수 있어. 여기 가장 일반적인 방법들이 있어:

직접 선언:

튜플은 둥근 괄호 ()와 요소를 구분하는 쉼표를 사용해 직접 생성할 수 있어.


tuple1 = (1, 2, 3)
tuple2 = ("apple", "banana", "cherry", "apple", "cherry")
tuple3 = (1, "apple", True)

괄호 없이:

Python에서는 요소들을 쉼표로 구분함으로써 튜플을 괄호 없이도 생성할 수 있어.


tuple1 = 1, 2, 3
tuple2 = "apple", "banana", "cherry", "apple", "cherry"
tuple3 = 1, "apple", True

단일 요소 튜플:

단일 요소로 튜플을 만들려면 그 요소 뒤에 쉼표를 꼭 넣어야 해.


tuple1 = (1,)
tuple2 = ("apple",)
tuple3 = (True,)

tuple() 사용:

tuple() 함수는 반복 가능한 객체를 튜플로 변환해줘. 이건 리스트, 문자열 또는 다른 반복 가능한 객체일 수 있어.


list_to_tuple = tuple([1, 2, 3])

10.3 튜플 요소 분해

튜플을 다룰 때 여러 요소를 하나의 튜플로 묶거나 튜플을 여러 변수로 분해할 수 있어서 코드가 간단해져:

기본 분해

튜플을 변수로 분해하는 예:


my_tuple = (1, 2, 3)
x, y, z = my_tuple

여기서 변수 x, yz는 각각 1, 23 값을 가져.

확장된 분해

Python은 또한 확장된 분해를 지원하여 * 기호를 사용해 튜플의 일부를 리스트로 추출할 수 있어:


a, *b, c = (1, 2, 3, 4, 5)  # a = 1, b = [2, 3, 4], c = 5

이 예에서 ac는 처음과 마지막 값을 받고, b는 나머지 모든 값을 포함하는 리스트가 돼.

함수 내에서의 사용

튜플 분해는 함수에 매개변수를 전달할 때 자주 사용돼. 함수가 가변 인자 수를 받을 때나 인자가 미리 튜플 또는 리스트로 묶여 있을 때 특히 유용해:


def func(a, b, c):
    print(a, b, c)
        
values = (1, 2, 3)
func(*values)

사용의 특징

튜플 분해는 튜플의 요소 수와 그들에게 할당된 변수 수가 일치해야 하며, 그렇지 않으면 오류가 발생해. 하지만 *를 사용하면 여분의 요소를 모을 수 있어서 오류를 피할 수 있고 데이터 변화에 더 유연한 코드를 작성할 수 있어.

10.4 메서드 목록

튜플은 변경할 수 없는 객체라 거의 메서드가 없어. 딱 두 개 😊

count(x) 함수:

튜플에서 x가 나타나는 횟수를 반환해. 특정 요소의 개수를 세는데 유용해.


t = (1, 2, 3, 2, 4, 2)
print(t.count(2)) # 3을 출력할 거야 

index(x) 함수:

튜플에서 요소 x가 처음 나타나는 인덱스를 반환해. 요소를 찾지 못하면 ValueError 예외가 발생해.


t = (1, 2, 3, 2, 4, 2)
print(t.index(3)) # 2를 출력할 거야 

튜플 클래스의 메서드는 이것뿐이지만, 그렇다고 해서 할 수 있는 게 없다는 뜻은 아니야. 조금 복잡할 뿐이야.

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION