목차
Dictionary 정의
Dictionary 요소 접근
Dictionary Value 변경
Dictionary 반복/출력
Dictionary Key 존재 체크
Dictionary 요소 개수 (= 길이)
Dictionary 요소 추가
Dictionary 요소 제거
Dictionary 복사
안긴 Dictionary
dict() 생성자
Dictionary 메서드 종류
Dictionary 정의
순서 X , 색인 O, 변경 O, 추가 O, 제거 O, 키 중복 X , 중괄호 {} 이용하는, {key:value, ...} 형태 의 자료 모음.
※ 주의
중복 key 불가. 참고 .
단, 중복 value 가능.
[예제]
hz = {
"site": "홈짱닷컴",
"host": "Homzzang.com",
"open": 2012
}
print(hz)
결과값: {'site': '홈짱닷컴', 'host': 'Homzzang.com', 'open': 2012}
Dictionary 요소 접근
1. [ key ] 이용해 접근.
hz = {
"site": "홈짱닷컴",
"host": "Homzzang.com",
"open": 2012
}
x = hz['site']
print(x) # 홈짱닷컴
2. get() 메서드 이용해 접근.
hz = {
"site": "홈짱닷컴",
"host": "Homzzang.com",
"open": 2012
}
x = hz.get('site')
print(x) # 홈짱닷컴
Dictionary Value 변경
※ key 이용해 변경.
hz = {
"site": "홈짱닷컴",
"host": "Homzzang.com",
"open": 2012
}
hz['open'] = 2020
print(hz)
반환값: {'site': '홈짱닷컴', 'host': 'Homzzang.com', 'open': 2020}
Dictionary 반복/출력
1. for...in... 반복문 이용해 Key 출력.
hz = {
"site": "홈짱닷컴",
"host": "Homzzang.com",
"open": 2012
}
for x in hz:
print(x)
반환값:
site
host
open
2. for...in... 반복문 이용해 value 출력.
hz = {
"site": "홈짱닷컴",
"host": "Homzzang.com",
"open": 2012
}
for x in hz:
print(hz[x])
결과값:
홈짱닷컴
Homzzang.com
2012
3. values() 메서드 이용해 value 출력.
(※ 주의: values 복수형임.)
hz = {
"site": "홈짱닷컴",
"host": "Homzzang.com",
"open": 2012
}
for x in hz.values():
print(x)
결과값:
홈짱닷컴
Homzzang.com
2012
4. items() 메서드 사용해 key와 value 모두 출력.
(※ 주의: items 복수형임.)
hz = {
"site": "홈짱닷컴",
"host": "Homzzang.com",
"open": 2012
}
for x,y in hz.items():
print(x, y)
반환값:
site 홈짱닷컴
host Homzzang.com
open 2012
Dictionary Key 존재 체크
in 키워드 사용해 key 존재 여부 체크.
hz = {
"site": "홈짱닷컴",
"host": "Homzzang.com",
"open": 2012
}
if "site" in hz:
print("있음.")
결과값: 있음.
PS. in 키워드와 values() 메서드 결합해 value 존재 체크 가능.
hz = {
"site": "홈짱닷컴",
"host": "Homzzang.com",
"open": 2012
}
if "홈짱닷컴" in hz.values():
print("있음.")
결과값: 있음.
Dictionary 요소 개수 (= 길이)
len() 함수 사용해 Item 개수 셈.
hz = {
"site": "홈짱닷컴",
"host": "Homzzang.com",
"open": 2012
}
print(len(hz) )
결과값: 3
Dictionary 요소 추가
[방법1]
hz = {
"site": "홈짱닷컴",
"host": "Homzzang.com",
"open": 2012
}
hz["intro"] = "코딩 강의"
print(hz)
결과값:
{'site': '홈짱닷컴', 'host': 'Homzzang.com', 'open': 2012, 'intro': '코딩 강의'}
[방법2] dictionary .setdefault() 메서드 이용 ★
hz ={
"site": "홈짱닷컴",
"host": "Homzzang.com",
"open": 2012
}
hz.setdefault('intro','코딩 강의')
print(hz)
결과값:
{'site': '홈짱닷컴', 'host': 'Homzzang.com', 'open': 2012, 'intro': '코딩 강의'}
Dictionary 요소 제거
1. pop() 메서드 - 지정 key를 가진 Item 제거.
hz = {
"site": "홈짱닷컴",
"host": "Homzzang.com",
"open": 2012
}
hz.pop('open')
print(hz)
결과값: {'site': '홈짱닷컴', 'host': 'Homzzang.com'}
2. popitem() 메서드 - 마지막으로 삽입된 Item 제거.
cf. Python 3.7 이전 버전 경우, 랜덤으로 Item 제거.
hz = {
"site": "홈짱닷컴",
"host": "Homzzang.com",
"open": 2012
}
hz.popitem()
print(hz)
결과값: {'site': '홈짱닷컴', 'host': 'Homzzang.com'}
3. del 키워드로 지정 key를 가진 Item 제거.
hz = {
"site": "홈짱닷컴",
"host": "Homzzang.com",
"open": 2012
}
del hz['open']
print(hz)
결과값: {'site': '홈짱닷컴', 'host': 'Homzzang.com'}
4. del 키워드로 Dictionary 자체를 제거 가능.
hz = {
"site": "홈짱닷컴",
"host": "Homzzang.com",
"open": 2012
}
del hz # 에러 유발.
print(hz)
결과값: 에러 발생.
5. clear() 메서드로 모든 Item 제거 가능. (= Dictionary 비우기)
※ 주의: Dictionary 자체는 존재함.
hz = {
"site": "홈짱닷컴",
"host": "Homzzang.com",
"open": 2012
}
hz.clear()
print(hz)
결과값: {}
Dictionary 복사
주의: dict1 = dict2 방식으로는 복사 불가함.
∵ dict1은 dict2에 대한 참조일 뿐이며, dict2 변하면 dict1도 변함.
1. copy() 메서드로 복사.
hz = {
"site": "홈짱닷컴",
"host": "Homzzang.com",
"open": 2012
}
my = hz.copy()
print(my)
결과값:
{'site': '홈짱닷컴', 'host': 'Homzzang.com', 'open': 2012}
2. dict() 내장 함수로 복사.
hz = {
"site": "홈짱닷컴",
"host": "Homzzang.com",
"open": 2012
}
my = dict(hz)
print(my)
결과값:
{'site': '홈짱닷컴', 'host': 'Homzzang.com', 'open': 2012}
안긴 Dictionary
1. Dictionary 안에 Dictionary를 직접 정의.
code = {
"HTML" : {
"role" : "뼈대",
"read" : 1
},
"CSS" : {
"role" : "디자인",
"read" : 2
},
"JS" : {
"role" : "기능",
"read" : 3
}
}
print(code)
결과값:
{'HTML': {'role': '뼈대', 'read': 1}, 'CSS': {'role': '디자인', 'read': 2}, 'JS': {'role': '기능', 'read': 3}}
2. 기존 Dictionary를 Item으로 갖는 Dictionary 생성.
HTML = {
"role" : "뼈대",
"read" : 1
}
CSS = {
"role" : "디자인",
"read" : 2
}
JS = {
"role" : "기능",
"read" : 3
}
code = {
"HTML" : HTML,
"CSS" : CSS,
"JS" : JS
}
print(code)
결과값:
{'HTML': {'role': '뼈대', 'read': 1}, 'CSS': {'role': '디자인', 'read': 2}, 'JS': {'role': '기능', 'read': 3}}
dict() 생성자
dict() 생성자 사용해 Dictionary 생성 가능.
주의1: Key는 문자열이 아님. 즉, 따옴표 안 붙임.
주의2: Key에 Value 할당은 = 기호 사용. (즉, : 기호 아님 명심.)
hz = dict(site="홈짱닷컴", host="Homzzang.com", open=2012)
print(hz)
결과값:
{'site': '홈짱닷컴', 'host': 'Homzzang.com', 'open': 2012}
Dictionary 메서드 종류
PS1. dictionary 부분엔 Dictionary 자료형 변수 입력.
PS2. dict.fromkeys() 경우엔 반드시 dict 입력해야 함.
주소 복사
랜덤 이동
최신댓글