여러 가지 데이터 타입의 값을 저장할 수 있는 변경 불가능(immutable)한 순서가 있는 컬렉션
튜플은 괄호()
를 사용하고 항목들은 쉼표,
로 구분한다.
tu1 = (1,)
print(tu1)
#tu1[0] = 100 # TypeError: 'tuple' object does not support item assignment
- 값을 한개만 넣을 때 꼭 뒤에 쉼표(,)를 써줘야한다
- 변경이 불가능한 컬렉션으로 tu1[0] 으로 있는 값을 변경하려할 때 TypeError가 발생한다.
🖥️예제
tu2 = (1,3,5,7)
print(tu2)
tu4 = ('apple','banana',('🍓','🍑'))
print(tu4)
print(tu4[0])
print(tu4[2][0])
print(type(tu4))
print(type(tu4[2]))
print(type(tu4[2][0]))
튜플 접근 방법은 리스트와 동일하게
tu4[0]
대괄호로 접근할 수 있다. 만약 튜플 안에 튜플이 있을 경우tu[2][0]
으로 접근한다.
tu5 = ('apple','banana',['🍓','🍑'])
print(tu5)
print(tu5[2][0])
print(type(tu5))
print(type(tu5[2]))
print(type(tu5[2][0]))
# tu5[0] = 'orange' 튜플이기때문에 변경 불가
tu5[2][0] = '🍎' # list 타입이므로 변경 가능
print(tu5)
튜플에는 튜플 뿐만 아니라 리스트도 넣을 수 있다.
튜플의 일부분만을 추출할 수 있다.
🖥️예제
tu1 = (1,2,'apple','banana')
print(tu1[1:]) # 1째 인덱스부터 전부 출력
print(tu1[1:3]) # 1~3번째 인덱스까지 출력
튜플 간의 + 연산
으로 리스트를 결합할 수 있고 * 연산
으로 리스트를 반복할 수 있다.
🖥️예제
tu1 = (10, 20, 30)
tu2 = (40, 50, 60)
print(tu1 + tu2)
print(tu2 + tu1)
tu1 = tu1 + (40, 50) #요소를 변경할 수 없는거지 주소값을 변경할수는 있다
print(tu1)
print(tu1 * 3)
튜플의 항목들은 변수들에 할당될 수 있다(리스트도 가능)
🖥️예제
apple, banana = ('김사과', '반하나')
print(apple)
print(banana)
in 연산자
를 사용하여 튜플에 특정 값이 있는지 확인할 수 있다.(리스트도 가능)
🖥️예제
2 in (2, 4, 6, 8, 10)
bool 타입으로 출력된다.
튜플은 sort() 메서드를 제공하지 않아 sorted()
함수를 사용해야한다.
🖥️예제
tu1 = (1, 3, 2, 0)
tu1 = sorted(tu1) # sorted의 반환형은 리스트
print(tu1)
sorted() 함수는 반환되지 않아 변수에 넣어서 사용해야 한다.
튜플을 리스트로, 리스트를 튜플로 변환할 수 있습니다.
🖥️예제
tu1 = (1, 2, 3, 4)
print(type(tu1))
li1 = list(tu1)
print(type(li1))
tu2 = tuple(li1)
print(type(tu2))
정리 잘하네요