파이썬 컬렉션 타입 - 튜플

현서·2025년 1월 1일

파이썬

목록 보기
6/27
post-thumbnail

1. 튜플

여러 가지 데이터 타입의 값을 저장할 수 있는, 변경 불가능(immutable)한 순서가 있는 컬렉션.

tu1=()
print(tu1)
print(type(tu1))
()
<class 'tuple'>
tu1 = (10,) # 요소가 1개일 경우 끝에 콤마를 꼭! 붙여야 함.
print(tu1)
print(type(tu1))
(10,)
<class 'tuple'>
tu2 = (1, 3, 5, 7)
print(tu2)
print(type(tu2))
(1, 3, 5, 7)
<class 'tuple'>
tu3 = tuple([1, 3, 5, 7])
print(tu3)
print(type(tu3))

li3 = list(tu3)
print(li3)
print(type(li3))

tu4 = 1, 3, 5, 7
print(tu4)
print(type(tu4))
(1, 3, 5, 7)
<class 'tuple'>
[1, 3, 5, 7]
<class 'list'>
(1, 3, 5, 7)
<class 'tuple'>
# 패킹과 언패킹
num1 = 10
num2 = 20
num3 = 30
tu4 = num1, num2, num3
print(tu4)

result1, result2, result3 = tu4
print(result1)
print(result2)
print(result3)
(10, 20, 30)
10
20
30
tu5 = ('apple', 'banana', ('🍎', '🍌'))
print(tu5)
print(type(tu5))
print(tu5[0])
print(type(tu5[0]))
print(tu5[2][0])
print(type(tu5[2][0]))
('apple', 'banana', ('🍎', '🍌'))
<class 'tuple'>
apple
<class 'str'>
🍎
<class 'str'>
tu5 = ('apple', 'banana', ('🍎', '🍌'))
tu5 = 'orange' # 값을 바꾼 것이 아니라 메모리 주소를 바꾼 것.
# tu5[0] = 'orange' # TypeError
print(tu5)
orange
tu5 = ('apple', 'banana', ['🍎', '🍌'])
print(tu5)
print(type(tu5))
print(tu5[2][0])
tu5[2][0] = '🍗'
print(tu5)
print(type(tu5[2]))
# tu5[2] = '🍙' # TypeError
('apple', 'banana', ['🍎', '🍌'])
<class 'tuple'>
🍎
('apple', 'banana', ['🍗', '🍌'])
<class 'list'>
# 튜플의 슬라이싱은 결과도 튜플로 반환
tu6 = (1, 2, 'apple', 'banana')
print(tu6[0])
print(tu6[-1])
print(tu6[1:])
print(tu6[1:3])
1
banana
(2, 'apple', 'banana')
(2, 'apple')
# 튜플 간의 연산은 결과도 튜플로 반환
tu7 = (10, 20, 30)
tu8 = (40, 50, 60)

print(tu7 + tu8)
print(tu8 + tu7)

tu7 = tu7 + (40, 50, 60)
print(tu7)

print(tu7 * 3)
(10, 20, 30, 40, 50, 60)
(40, 50, 60, 10, 20, 30)
(10, 20, 30, 40, 50, 60)
(10, 20, 30, 40, 50, 60, 10, 20, 30, 40, 50, 60, 10, 20, 30, 40, 50, 60)
print(2 in [2, 4, 6, 8, 10])
print(2 in (2, 4, 6, 8, 10))
print(7 in (2, 4, 6, 8, 10))
True
True
False
tu10 = (10, 30, 100, 90, 50)
# tu10.sort() # 튜플은 sort 메서드가 존재하지 않음
result = sorted(tu10, reverse=True)
print(result)
result = tuple(result)
print(result)
[100, 90, 50, 30, 10]
(100, 90, 50, 30, 10)
tu10 = (10, 30, 100, 90, 50)
# tu10.sort() # 튜플은 sort 메서드가 존재하지 않음
result = sorted(tu10)
print(result)
result = tuple(result)
print(result)
[10, 30, 50, 90, 100]
(10, 30, 50, 90, 100)

✔ 다시 정리해보기!

  • ✨ 튜플은 변경 불가능한 순서가 있는 컬렉션이다!
  • 튜플은 괄호 ()를 사용하여 생성한다.
  • 튜플의 각 항목은 위치(인덱스)를 가지고 있다.
  • 튜플 간 + 연산으로 결합, * 연산으로 반복할 수 있다.
  • in 연산자를 사용하여 튜플에 특정 값이 있는지 확인 가능.
  • ✨ 튜플은 sort()메서드 제공 X. sorted() 함수 사용.
profile
The light shines in the darkness.

0개의 댓글