본문 바로가기
Base/Python

15. 튜플/ 이뮤터블 자료 / 뮤터블 자료

by 귀멸 2023. 3. 3.

혼공파 60 강

 

# 튜플
a = (1, 2, 3)
print(a)
print(a[0])
print(a[1])
print(a[2])

# 자료를 하나 갖는 튜플을 만드려면 뒤에 쉼표를 찍어줘야 함
b = (1, )
print(b, type(b))

# 괄호를 생략해도 튜플로 인식
c = 1, 2, 3
d = 1, 

# 튜플과 리스트의 차이

# 튜플은 외관이 간단! / 요소를 변경할 수 없다!
e = [1, 2, 3]
f = (1, 2, 3)
# f[1] = 5 # 불가함

## 다중 할당 구문
# 여러 개의 변수를 한번에 할당 할 때 사용
a, b = 10, 20
print(a, b)

## 함수의 다중 리턴
def a():
  return 10, 20, 30

b, c, d = a()
# (b, c, d) = (10, 20, 30)
print(b, c, d)

A = ["바나나", "사과", "고구마", "감자"]

for i, item in enumerate(A):
  print(i, item)

B = {
  "이름": "별",
  "생일": (2019, 11, 14)
}

for key, value in B.items():
  print(key, value)

# 튜플은 외관이 간단! / 요소를 변경할 수 없다!
# 자료 : 기본 자료형 / 복합자료형
# 자료 : 뮤터블 자료 / 이뮤터블 자료 (파이썬에만 있는 개념)

# 뮤터블 자료
# 변수에 넣었을 때 
# 스택에 있는 값을 변경하지 않아도 + 값을 변경할 수 있는 자료
# 리스트, 딕셔너리
  
# 이뮤터블 자료
# 변수에 넣었을 때 
# 스택에 있는 값을 변경해야만 + 값을 변경할 수 있는 자료

a = 10
a = 20 # 숫자들은 이뮤터블
b = True
b = False # 불도 이뮤터블
c = "안녕하세요"
c = "안녕히 가세요" # 문자열도 이뮤터블
# 튜블도 이뮤터블

## 이뮤터블 자료는 딕셔너리의 키로 사용할 수 있다.
## 뮤터블 자료는 특수한 처리를 해야 딕셔너리의 키로 사용 할 수 있다.

A = {
  (2022, 1, 1): "새해",
  (2022, 12, 9): "생일",
  (2022, 12, 25): "크리스마스"
}
print(A)

# 리스트를 딕셔너리에 키로 그냥 사용하려고 하면
# unhashable 오류 (고급 개념이므로 나중에)

댓글