본문 바로가기

Python 파이썬

튜플(Tuple)과 딕셔너리(Dictionary)

728x90

튜플과 딕셔너리 둘다 리스트와 같은 형태로 자료를 저장한다. 튜플의 특징부터 알아보자.

튜플의 특징을 알아보자!

  • 튜플은 괄호 () 를 이용하여 요소를 감싼다.
  • 튜플은 고정된 값을 가진다.(immutable)
  • 튜플이 생성되면 값이 고정되므로 변경이나 삭제가 불가능 하다.
  • 고정할 리스트를 저장하는 용도로 사용(dictionary key로 사용가능)
  • list 보다 순회속도가 빠르다.
  • 값을 변경하거나 수정하는 것만 아니면 리스트와 동일하게 사용가능

아래의 예시를 보며 이해해 보자.

tup = (1,3,5,7,9)
a = ()
b = (1,2,3)
c = ("hello", "list", "test")
d = (2,3,["hello", "test"])

print(tup)
print(a)
print(b)
print(c)
print(d)
실행결과 ↓
(1, 3, 5, 7, 9)
()
(1, 2, 3)
('hello', 'list', 'test')
(2, 3, ['hello', 'test'])

 

튜플의 형식은 이렇게 표현하고 사용 할 수 있다. 다음은 튜플 특징의 예를 보자.

 

tup = (1,3,5,7,9)
tup[1] = 10

 

위의 코드처럼 튜플형식의 데이터에 인덱스번호를 이용해 값을 바꾸려고 한다. 실행을 하면!

 

 

이렇게 타입에러가 발생한다. 튜플 형식은 데이터를 바꿀 수 없다!

 

딕셔너리의 특징을 알아보자!

  • 데이터를 순차적으로 저장하지 않고 key : item 을 매핑해 저장
  • 딕져너리는 대괄호 { } 를 이용해 표현
  • 대괄호 안에 : 를 이용해 키와 값을 구분 { key : item }
dic1 = {"실" : "바늘", "cafe" : "coffee", "hi" : "안녕"}
print(dic1)
print(dic1.get("실"))                       # .get("실")  -> 키값 "실" 에 해당하는 아이템을 불러온다.
dic1.__setitem__("실", "골무")  # __setitem__ -> 키값 "실" 의 아이템을 "골무" 로 바꾼다.
print(dic1.get("실"))                       # 아이템이 바뀐것을 확인 할 수 있다.
print(dic1)
실행결과 ↓
{'실': '바늘', 'cafe': 'coffee', 'hi': '안녕'}
바늘
골무
{'실': '골무', 'cafe': 'coffee', 'hi': '안녕'}

 

더 많은 딕셔너리의 예를 보자.

 

# 딕셔너리의 키/값 쌍 추가하기
# 딕셔너리이름[KEY] = value
dic1 = {1 : "a"}
print(dic1[1])      # dic1의 키 1 을 출력 =====> a
dic1[3] = "c"       # 딕셔너리 dic1에 키값 3, value "c" 의 쌍을 를 추가
print(dic1[3])      # dic1의 키 3 을 출력 =====> c
dic1["b"] = 2       # 딕셔너리 dic1에 키값 "b", value 2 의 쌍을 를 추가
print(dic1["b"])    # dic1의 키 "b" 을 출력 =====> 2

print(dic1)         # {1: 'a', 3: 'c', 'b': 2}

# 딕셔너리 값 삭제하기
# del 삭제할 key
# __delitem__(key)
dic2 = {1 : "a", 2 : "b", 3 : "c"}
print(dic2)         # {1: 'a', 2: 'b', 3: 'c'}
del dic2[2]         # key값 2 삭제
print(dic2)         # {1: 'a', 3: 'c'}
dic2.__delitem__(3) # key값 3 삭제
print(dic2)         # {1: 'a'}

# key(), values()
# key() = key리스트 얻기
# values() =  value리스트 얻기
dic3 = {1 : "a", 2 : "b", 3 : "c", 4 : "d", 5 : "e"}
key_list = dic3.keys()
value_list = dic3.values()
print(key_list)             # dict_keys([1, 2, 3, 4, 5])
print(value_list)           # dict_values(['a', 'b', 'c', 'd', 'e'])

 

 

728x90

'Python 파이썬' 카테고리의 다른 글

파일 입출력(File I/O)  (0) 2023.10.20
셋(set)  (1) 2023.10.20
난수(random), 로또번호, 랜덤모듈  (1) 2023.10.16
리스트(list)_2, 리스트빌트인 함수  (0) 2023.10.16
리스트(list)  (0) 2023.10.16