Python Basic _ 3-4. Tuple

WONY_yoon·2025년 10월 3일
post-thumbnail

Python Tuple 알아보기

# chapter03-4
# 파이썬 튜플
# 리스트와 비교 중요
# 튜플 자료형 (순서 O, 중복 O, 수정 X, 삭제 X)  # 불변(Immutable)

# 선언
a = ()
b = (1,)   # 원소가 하나면 끝에 ,(콤마)가 있어야 함
c = (11, 12, 13, 14)
d = (100, 1000, 'Ace', 'Base', 'Captain')
e = (100, 1000, ('Ace', 'Base', 'Captain'))

print(type(a), type(b))  
# <class 'tuple'> <class 'tuple'>

# 인덱싱
print('>>>>>')
print('d - ', d[1])                # 1000
print('d - ', d[0] + d[1])         # 1100
print('d - ', d[0] + d[1] + d[1])  # 2100
print('d - ', d[-1])               # Captain
print('e - ', e[-1])               # ('Ace', 'Base', 'Captain')
print('e - ', e[-1][1])            # Base
print('e - ', list(e[-1][1]))      # ['B', 'a', 's', 'e']

# 수정 진짜 안되나..!?
# d[0] = 1500   # TypeError 발생 (튜플은 불변)

# 슬라이싱
print('>>>>>')
print('d - ', d[0:3])              # (100, 1000, 'Ace')
print('d - ', d[2:])               # ('Ace', 'Base', 'Captain')
print('e - ', e[2][1:3])           # ('Base', 'Captain')

# 튜플 연산
print('>>>>>')
print('c + d - ', c + d)           # (11, 12, 13, 14, 100, 1000, 'Ace', 'Base', 'Captain')
print('c * 3 - ', c * 3)           # (11, 12, 13, 14, 11, 12, 13, 14, 11, 12, 13, 14)

# 튜플 함수
a = (5, 2, 3, 1, 2)
print('a - ', a)                   # (5, 2, 3, 1, 2)
print('a - ', a.index(3))          # 2 (3의 인덱스 위치)
print('a - ', a.count(2))          # 2 (값 2의 개수)

# 패킹 & 언패킹 (Packing and Unpacking)
# 패킹
t = ('foo', 'bar', 'baz', 'qux')

print('t - ', t)                   # ('foo', 'bar', 'baz', 'qux')
print('t - ', t[0])                 # foo
print('t - ', t[-1])                # qux

# 언패킹 1
(x1, x2, x3, x4) = t

print(type(x1), type(x2), type(x3), type(x4))
# <class 'str'> <class 'str'> <class 'str'> <class 'str'>
print(x1, x2, x3, x4)              # foo bar baz qux

# 패킹 & 언패킹
t2 = (1, 2, 3)
t3 = 4,    # 원소가 하나면 튜플로 인식
x1, x2, x3 = t2
x4, x5, x6 = 4, 5, 6

print(t2)                          # (1, 2, 3)
print(t3)                          # (4,)
print(x1, x2, x3)                  # 1 2 3
print(x4, x5, x6)                  # 4 5 6

print(type(t2), type(t3))          # <class 'tuple'> <class 'tuple'>
print(type(x1))                    # <class 'int'>

0개의 댓글