1. 딕셔너리 자료형
딕셔너리 또한 값들의 집합인 자료형이다. 딕셔너리에는 순서가 존재하지 않고 "key : value"의 형태로 값을 저장한다. 딕셔너리는 중괄호 혹은 함수를 사용해서 선언 및 초기화 할 수 있다.
- 딕셔너리 이름 = {key1:value1, key2:value2, key3:value3}
- 딕셔너리 이름 = dict(key1=value1, key2=value2, key3=value3)
dic1 = {"apple":"사과", "bird":"새", "bug":"벌레"}
print(dic1)
dic2 = dict(apple = "사과", bird = "새", bug = "벌레")
print(dic2)
두 방법을 모두 사용하지만, 중괄호를 이용한 초기화를 더 많이 사용한다.
dic = {}
dic["apple"] = "사과"
dic["grape"] = "포도"
dic["fruits"] = ["바나나", "딸기", "오렌지"]
print(dic)
딕셔너리는 리스트와 다르게 빈 딕셔너리({})를 초기화해도 함수 없이 위와 같이 코드로 값을 추가할 수 있다.
dic1 = {"apple":"사과", "bird":"새", "bug":"벌레"}
print(dic1)
del dic1["bug"]
print(dic1)
딕셔너리의 요소는 del 키워드로 삭제할 수 있다.
문자열 요소는 Immutable 타입이기 때문에 indexing으로 수정할 수 없다. 딕셔너리에서 key는 Immutable 타입이다. 이 외에도 key는 value를 찾기위한 유일한 값으로 중복사용할 수 없다. 또한 key에는 리스트를 사용할 수 없는 반면 value에는 어떤 값이든 상관없이 올 수 있다.
dic = {"num": 3}
dic["num"] = 4
# key에 False 사용할 수 있다.
dic[False] = 0
print(dic)
# value는 어느 값이든 저장할 수 있다.
dic[True] = [1, 10, "파이썬"]
dic["nums"] = {"one": 1, "two": 2}
print(dic) # {'num': 4, False: 0, True: [1, 10, '파이썬'], 'nums': {'one': 1, 'two': 2}}
2. 딕셔너리 함수
| 함수 | 설명 |
| x.keys() | 딕셔너리 x의 key만 모아 객체 형식 dict_keys([key, key2, ...])으로 반환 |
| x.values() | 딕셔너리 x의 value만 모아 객체 dict_values([value1, value2, ….. ])으로 반환 |
| x.items() | 딕셔너리 x의 key와 value를 튜플로 묶어 dict_items([(key1, value1), (key2, value2), ... ]) 형식으로 반환 |
| x.clear() | 딕셔너리의 모든 값을 삭제( del 키워드는 객체 자체를 삭제) |
| x.get(key) | x[key]와 마찬가지로 해당 key의 value 반환 |
| key in x | key 값이 x 딕셔너리에 존재하는지 판별하는 키워드 |
- x.key()가 실행되면 dict_keys라는 객체를 반환합니다. 만약 리스트 형태로 필요하다면 "list(x.keys())"로 변경할 수 있지만, 추후 배울 반복성 구문에서 또한 요소에 차례대로 접근할 수 있습니다.
- 튜플은 다음 챕터에서 참고해주세요.
- clear 함수를 사용하면 빈 딕셔너리로 바뀝니다.
- key가 존재하지 않으면 'None'을 반환합니다. 이때 만약 'None'이 아니라 다른 값을 출력하고 싶다면 "x.get(key, 출력하고 싶은 값)" 으로 작성합니다.
- key 값이 존재하면 True를, 존재하지 않으면 False 를 반환합니다.
mem = {"김구름": 25, "박에듀": 23, "온라인": 24}
print(mem.keys()) # dict_keys(['김구름', '박에듀', '온라인'])
# 새로운 리스트 변수에 초기화
names = list(mem.keys())
print(names) # ['김구름', '박에듀', '온라인']
names.append("윤레벨")
print("새로운 리스트", names)
print("원래 딕셔너리에서 key 모음", list(mem.keys()))
print(list(mem.values()))
print("key와 value를 튜플로 ", mem.items()) # dict_items([('김구름', 25), ('박에듀', 23), ('온라인', 24)])
exist = '박에듀' in mem
print(exist)
mem.clear()
print(mem) #빈 딕셔너리 출력 {}'Python' 카테고리의 다른 글
| [Python] for문의 활용 (0) | 2025.07.23 |
|---|---|
| [Python] 튜플(Tuple)과 집합(Set) (0) | 2025.07.21 |
| [Tenserflow] TensorFlow 설치 및 실행 방법(윈도우11, 2025/07/21 기준) (0) | 2025.07.21 |
| [Python] Windows에서 python vs python3 명령어 사용 차이(윈도우11에서 명령어 어떤거 사용해야 함? + tensorflow 설치) (0) | 2025.07.21 |
| [Python] 리스트의 indexing and slicing, 값 할당 (0) | 2025.07.21 |