
튜플형
# 파이썬 튜플
# 리스트와 비교 중요
# 튜플 자료형(순서O, 중복O, 수정X,삭제X) #불변
튜플(Tuple)사용법
튜플 선언
튜플 특징
튜플 슬라이싱
튜플 함수
팩킹&언팩킹
# 선언
a = ()
b = (1,) #원소가 하나일 땐 ,를 찍어야 튜플로 인식한다.
c = (11, 12, 13 ,14)
d = (100, 1000,'Ace', 'Base', 'Captine')
e = (100, 1000, ('Ace', 'Base', 'Captine')) #튜플안에 튜플
# 인덱싱
print('d - ', type(d), d) #d - <class 'tuple'> (100, 1000, 'Ace', 'Base', 'Captine')
print('d - ', d[1]) #d - 1000
print('d - ', d[0] + d[1] + d[1]) #d - 2100
print('d - ', d[-1]) #d - Captine
print('e - ', e[-1]) #e - ('Ace', 'Base', 'Captine')
print('e - ', e[-1][1]) #e - Base
print('e - ', list(e[-1][1])) #e - ['B', 'a', 's', 'e'] 리스트로 형변환
# 수정 X
d[0] = 1500
print('d - ', d) #error!
# 슬라이싱
print('d - ', d[0:3]) #d - (100, 1000, 'Ace')
print('d - ', d[2:]) #d - ('Ace', 'Base', 'Captine')
print('e - ', e[2][1:3]) #e - ('Base', 'Captine')
# 튜플 연산(내부의 원소가 변경되거나 삭제되지않는다면 연상을 통한 튜플의 어떤 원소의 갯수가 늘어나는 것은 허용한다.)
print('c + d - ', c + d) #c + d - (11, 12, 13, 14, 100, 1000, 'Ace', 'Base', 'Captine')
print('c * 3 - ', c * 3) #c * 3 - (11, 12, 13, 14, 11, 12, 13, 14, 11, 12, 13, 14)
# print("c[0] + 'hi' - ",c[0] + 'hi') #정수형+문자형이라 에러
print("'Test' + c[0] - ", 'Test' + str(c[0])) #'Test' + c[0] - Test11
# 튜플 함수
a = (5, 2, 3, 1, 4)
print('a - ', a) #a - (5, 2, 3, 1, 4)
print('a - ', a.index(5)) #a - 0 숫자 5의 위치
print('a - ', a.count(4)) #a - 1 숫자 4는 몇개나 있는가?
# 팩킹 & 언팩킹(Packing, and Unpacking)
# 팩킹(묶는 것)
t = ('foo', 'bar', 'baz', 'qux')
# 출력 확인
print(t) #('foo', 'bar', 'baz', 'qux')
print(t[0]) #foo
print(t[-1]) #qux
# 언팩킹1(묶여 있던 걸 푸는 것)
(x1, x2, x3, x4) = t
#x1,x2,x3,x4 = t로 괄호로 묶지 않아도 되지만
#파이썬을 코딩하는 사람들이 언패킹했다는걸 코딩 스타일로 보여주기 위해서 괄호로 묶는게 관례가 되어있다.
# 출력확인
print(x1, x2, x3, x4) #foo bar baz qux
print(type(x1),type(x2),type(x3),type(x4)) #<class 'str'> <class 'str'> <class 'str'> <class 'str'>
# 언팩킹2
(x1, x2, x3, x4) = ('foo', 'bar', 'baz', 'qux')
# 출력 확인
print(x1) #foo
print(x2) #bar
print(x3) #baz
print(x4) #qux
# 팩킹 & 언팩킹
t2 = 1, 2, 3 #괄호가 없어도 튜플
t3 = 4, #그냥 4를 적으면 int형이다.
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
tuple(튜플)은 불변한 순서가 있는 객체의 집합입니다.
list형과 비슷하지만 한 번 생성되면 값을 변경할 수 없습니다.
list와 마찬가지로 다양한 타입이 함께 포함될 수 있습니다.
'Python > Today I learned' 카테고리의 다른 글
| TIL#19 데이터타입(자료형)-집합(Set)형 (0) | 2021.05.15 |
|---|---|
| TIL#18 데이터타입(자료형)-딕셔너리형 (0) | 2021.05.14 |
| TIL#16 데이터타입(자료형)-리스트형 (0) | 2021.05.14 |
| TIL#15 데이터타입(자료형)-문자형 (0) | 2021.05.14 |
| TIL#14 데이터타입(자료형)-숫자형 (0) | 2021.05.14 |