튜플은 리스트와 아주 비슷하지만 수정이 불가능한 점이 있습니다.
이전에 보았던 list와 앞으로 보게될 dictionary, set의 경우 여러개의 데이터를 담을수가 있는데 이중 tuple이 가장 단순한 자료형입니다.
소괄호((, ))로 데이터를 감써서 표현하며 마찬가지로 0개이상의 데이터를 저장할 수 있습니다.
대신 튜플을 한번 만들고 나면 수정하거나 내부의 데이터를 삭제할수도 없으며 프로그램 실행 중 절대로 변하지 않거나 변하면 안되는 것들이 있다면 튜플을 이용할수 있습니다.
a = tuple()
print(a)
튜플을 함수를 이용하여 만든뒤 출력하게 되면 아무른 값이 들어있지 않은채 ()만 출력됩니다.
# a.append(1)
# print(a)
지금은 제가 주석처리 해놓았지만 append속성을 사용하여 출력한다면 에러가 발생합니다.
tuple은 append 속성을 가지고 있지않습니다.
b = tuple([1, 2, '3'])
print(b)
튜플은 수정이 되지 않기때문에 반드시 만들때 값을 넣어주어야 합니다.
반드시 같은 타입의 값을 넣을 필요는 없습니다.
c = (1, 2, 3, 4, 5)
print(c)
list를 [, ]를 이용하여 만들었던것 처럼 tuple도 함수를 이용하는것 말고도 (, )를 이용해서 만들수 있습니다.
# c[1] = 'two'
# print(c)
마찬가지로 수정할수 없습니다.
d = tuple(range(3, 6))
print(d)
print(c + d)
튜플의 값을 수정할수는 없지만 연산은 가능합니다!
range(3, 6)의 경우 3부터 6직전까지 만들겠다는 의미입니다!
3부터 6직전까지면 3, 4 ,5 가 생성되겠죠?
e = list(d)
print(e)
e.append(6)
print(e)
튜플을 리스트로 바꿀수도 있습니다!
리스트로 바꾸게 된다면 append를 사용할수 있겠죠??
f = tuple(e)
print(f)
리스트 e를 대입한 tuple을 만들었습니다.
튜플의 형식으로 출력이됩니다.
# f.append(6)
# print(f)
튜플이기 때문에 appned를 사용할수 없겠죠??
# unpacking
g, h, i, j = f
print(g)
print(h)
print(i)
print(j)
위와같이 튜플이나 리스트의 값들을 변수에 하나하나 분배해주는 과정을 언패킹이라고 합니다!
만약 f안에 5개의 값이 들어있는데 4개만 언패킹한다면 에러가 발생합니다.
언패킹을 할때는 list나 tuple 등 안에 저장되어있는 데이터의 갯수를 알아야겠죠?!
'Python > Python' 카테고리의 다른 글
[Python] dictionary(딕셔너리) (0) | 2022.04.30 |
---|---|
[Python] set(집합) (0) | 2022.04.29 |
[Python] list(리스트) (0) | 2022.04.27 |
[Python] 문자열(string) (0) | 2022.04.26 |
[Python] 숫자형(number) 타입 (0) | 2022.04.25 |