상세 컨텐츠

본문 제목

파이썬 컬렉션 타입 - 튜플

인공지능/파이썬

by Ryuzy 2023. 9. 3. 03:32

본문

728x90
반응형

1. 튜플

여러 가지 데이터 타입의 값을 저장할 있는, 변경 불가능(immutable) 순서가 있는 컬렉션입니다. 튜플은 괄호 () 사용하여 생성하고, 항목들은 쉼표 , 구분됩니다.

 

순서가 있는 컬렉션

"요소들이 저장된 순서가 정해져 있는 자료형”을 말합니다. 즉, 어떤 값이 몇 번째 위치(index)에 있는지 정해져 있는 자료형입니다. 위치가 중요하고 순서를 유지하는 컬렉션은 ‘순서가 있는 컬렉션’입니다.

tu1 = ()
print(tu1)
print(type(tu1))

tu1 = (1,) # 요소가 1개일 경우 끝에 콤마를 꼭! 붙여야 함
print(tu1)
print(type(tu1))

tu2 = (1, 3, 5, 7)
print(tu2)
print(type(tu2))

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))

 

 

2. 패킹과 언패킹

변수를 튜플에 튜플의 항목들은 변수들에 할당될  있습니다.

num1 = 10
num2 = 20
num3 = 30
tu4 = num1, num2, num3
print(tu4)

result1, result2, result3 = tu4
print(result1)
print(result2)
print(result3)

 

 

3. 인덱싱과 슬라이싱

튜플의  항목은 위치(인덱스) 가지고 있으며, 인덱스를 사용하여 접근하거나 일부분을 추출할 수 있습니다.

tu5 = ('apple', 'banana', ('🍎', '🍌'))
print(tu5)
print(type(tu5))
print(tu5[0])
print(type(tu5[0]))
print(tu5[2][0])
print(type(tu5[2][0]))

tu5 = ('apple', 'banana', ('🍎', '🍌'))
# tu5[0] = 'orange' # TypeError: 'tuple' object does not support item assignment
tu5 = 'orange'
print(tu5)

tu5 = ('apple', 'banana', ['🍎', '🍌'])
print(tu5)
print(type(tu5))
print(tu5[2])
print(type(tu5[2]))
tu5[2][0] = '❤'
print(tu5)
# tu5[2] = '🎃' # TypeError: 'tuple' object does not support item assignment

# 튜플의 슬라이싱은 결과도 튜플로 반환
tu6 = (1, 2, 'apple', 'banana')
print(tu6[1:])
print(tu6[1:3])

 

 

4. 연산

튜플 간의 + 연산으로 결합할  있고, * 연산으로 튜플을 반복할  있습니다. 튜플간의 연산은 결과도 튜플로 반환됩니다.

tu7 = (10, 20, 30)
tu8 = (40, 50, 60)

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

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

print(tu7 * 3)

 

# 컬렉션에 포함되어 있는 요소인지 확인
print(2 in [2, 4, 6, 8, 10])
print(2 in (2, 4, 6, 8, 10))
print(7 in (2, 4, 6, 8, 10))

 

 

5. 튜플의 정렬

튜플은 sort() 메서드를 제공하지 않습니다. sorted() 함수를 사용합니다.

tu9 = (10, 30, 100, 90, 50)
# tu10.sort() # 튜플은 sort 메서드가 존재하지 않음
result = sorted(tu9, reverse=True) # 내림차순하여 리스트로 반환
print(result)
print(tu9) # 변경되지 않았음
result = tuple(result)
print(result)

 

728x90
반응형

'인공지능 > 파이썬' 카테고리의 다른 글

파이썬 컬렉션 타입 - 세트  (0) 2023.09.04
파이썬 컬렉션 타입 - 딕셔너리  (1) 2023.09.03
파이썬 컬렉션 타입 - 리스트  (0) 2023.09.01
문자열 다루기  (0) 2023.08.25
파이썬의 변수  (2) 2023.08.25

관련글 더보기