본문 바로가기
GD's IT Lectures : 기초부터 시리즈/파이썬(Python) 기초부터 ~

[파이썬(PYTHON)] 기본적인 자료구조 - 튜플

by GDNGY 2023. 5. 3.

6.2. 튜플

튜플은 리스트와 유사한 자료구조이지만, 한 번 생성된 요소를 변경할 수 없는 불변(immutable) 자료구조입니다. 튜플은 소괄호(())를 사용하여 생성하며, 각 요소는 쉼표(,)로 구분합니다. 튜플은 리스트에 비해 더 빠른 처리 속도를  가지며, 변경할 수 없다는 특성으로 인해 읽기 전용 데이터에 적합합니다. 또한, 튜플은 중복된 값이 있어도 상관없습니다.

 

6.2.1. 튜플 생성과 인덱싱

튜플의 생성 방법과 인덱싱 방법을 살펴보겠습니다.

 

# 튜플 생성
my_tuple = (1, 2, 3, "banana", 5.5)

# 단일 요소 튜플 생성
single_tuple = (3,)

# 괄호 없이 튜플 생성
no_parentheses_tuple = 1, 2, 3

# 인덱싱
print(my_tuple[0])  # 1
print(my_tuple[3])  # "banana"
print(my_tuple[-1])  # 5.5

 

튜플의 인덱싱은 리스트와 동일하게 작동합니다. 인덱스는 0부터 시작하며, 음수 인덱스를 사용하여 뒤에서부터 접근할 수도 있습니다. 튜플은 변경할 수 없으므로, 한 번 생성된 요소를 변경하려고 하면 오류가 발생합니다.

 

# 변경 불가능한 튜플
my_tuple = (1, 2, 3)
my_tuple[0] = 0  # 오류 발생

 

6.2.2. 튜플 슬라이싱

튜플의 일부분을 잘라내는 슬라이싱에 대해 알아보겠습니다. 슬라이싱은 콜론(:)을 사용하여 시작 인덱스와 끝 인덱스를 지정합니다. 끝 인덱스는 포함되지 않습니다.

 

my_tuple = (0, 1, 2, 3, 4, 5)

# 슬라이싱
sub_tuple = my_tuple[1:4]  # (1, 2, 3)
print(sub_tuple)

# 시작 인덱스와 끝 인덱스 생략
print(my_tuple[:3])  # (0, 1, 2)
print(my_tuple[3:])  # (3, 4, 5)

# 음수 인덱스를 사용한 슬라이싱
print(my_tuple[:-1])  # (0,1, 2, 3, 4)
print(my_tuple[-3:]) # (3, 4, 5)

#스텝을 사용한 슬라이싱
print(my_tuple[::2]) # (0, 2, 4)

 

6.2.3. 튜플 메소드

튜플은 변경할 수 없기 때문에 메서드가 리스트에 비해 제한적입니다. 튜플에서 주로 사용하는 메서드는 `count()`와 `index()`입니다.

  • count() : 튜플 내에서 특정 요소가 몇 번 나타나는지 세는 메소드입니다.
  • index() : 튜플 내에서 특정 요소의 위치(인덱스)를 찾는 메서드입니다.

 

my_tuple = (1, 2, 2, 3, 4, 4, 4, 5)

# count() 메소드 사용
count_2 = my_tuple.count(2)  # 2
print("2의 개수:", count_2)

count_4 = my_tuple.count(4)  # 3
print("4의 개수:", count_4)

# index() 메소드 사용
index_3 = my_tuple.index(3)  # 3
print("3의 인덱스:", index_3)

index_5 = my_tuple.index(5)  # 7
print("5의 인덱스:", index_5)

 

6.2.4. 튜플 패킹과 언패킹

튜플 패킹은 여러 개의 값을 하나의 튜플로 묶는 것을 말합니다. 튜플 언패킹은 튜플의 요소를 여러 개의 변수에 할당하는  것을 말합니다. 패킹과 언패킹을 통해 코드를 간결하게 작성할 수 있습니다.

 

# 튜플 패킹
packed_tuple = 1, 2, 3, 4
print(packed_tuple)  # (1, 2, 3, 4)

# 튜플 언패킹
a, b, c, d = packed_tuple
print(a, b, c, d)  # 1 2 3 4

# 값 교환하기
x = 10
y = 20
x, y = y, x
print(x, y)  # 20 10

 

이렇게 튜플은 불변한 특성을 가진 자료구조로서, 리스트와 비슷한 연산을 지원하면서도 읽기 전용 데이터에 더 적합한 선택입니다. 튜플을 이용하여 함수의 다중 반환값, 딕셔너리의 키, 데이터 구조의 구성 등 다양한 활용이 가능합니다.

 

 

2023.05.03 - [프로그래밍/파이썬(Python) 기초부터 ~] - [파이썬(PYTHON)] 기본적인 자료구조 - 리스트

 

[파이썬(PYTHON)] 기본적인 자료구조 - 리스트

6. 기본적인 자료구조 파이썬에는 여러 가지 자료구조가 있는데, 그중 가장 많이 사용되는 리스트(list), 튜플(tuple), 사전(dict), 집합(set)에 대해 다룹니다. 이러한 자료구조는 파이썬으로 프로그래

gdngy.tistory.com

 

반응형

댓글