[ Python 3 ] 딕셔너리 메소드 함수들
[ 이전 글 ]
딕셔너리 타입 주의할 점(key type, 인덱싱 가능?, 중복될 경우엔?)
딕셔너리 타입 복사시 주의!! ( copy, deepcopy )
[ Python dictionary methods 정리 ]
- clear( ) : 딕셔너리의 모든 elements를 삭제
- copy( ) : 딕셔너리의 얕은 복사를 반환 (구체적인 설명 : 딕셔너리 타입 복사시 주의!! ( copy, deepcopy ))
- fromkeys(keys, value) : 특정 key와 value의 딕셔너리를 반환
- get(keyname, value) : 특정 key의 value를 반환
- items( ) : 각 key와 value의 튜플이 담긴 리스트 반환
- keys( ) : 딕셔너리의 모든 key의 리스트 반환
- pop(keyname, defaultvalue) : 특정 요소를 반환하고 삭제
- popitem( ) : 마지막으로 삽입된 key-value를 삭제
- setdefault( ) : 특정 key의 value를 반환. 만약 해당하는 key가 없다면, key를 삽입
- update(iterable) : 특정 key-value 조합을 삽입
- values( ) : 딕셔너리의 모든 value들을 담은 리스트 반환
[ dictionary.clear( ) ]
딕셔너리의 모든 elements를 삭제
student = {
"name" : "james",
"university" : "CAU",
"age" : 25
}
print(student)
student.clear()
print(student)
[ dictionary.copy( ) ]
딕셔너리의 얕은 복사를 반환 (구체적인 설명 : 딕셔너리 타입 복사시 주의!! ( copy, deepcopy ))
student = {
"name" : "james",
"university" : "CAU",
"age" : 25
}
print(student)
a = student.copy()
print(a)
[ dictionary.fromkeys(keys, value) ]
특정 key와 value의 딕셔너리를 반환
parameter : key(필수), value(선택적)
k = {"name","university","age"}
student = dict.fromkeys(k)
print(student)
주어진 key에 모든 value를 동일하게 채움
k = {"name","university","age"}
v = "something"
student = dict.fromkeys(k, v)
print(student)
[ dictionary.get(keyname, value) ]
특정 key의 value를 반환
parameter : keyname(필수), value(선택적)
- 딕셔너리에 key가 존재하지 않을 경우, none을 반환
- 딕셔너리에 key가 존재할 경우, value를 반환
- 딕셔너리에 key가 존재하지 않을 경우, value 파라메터가 존재한다면 value파라메터를 반환
- 딕셔너리에 key가 존재할 경우, value 파라메터가 존재하더라도 기존의 value를 반환
student = {
"name" : "james",
"university" : "CAU",
"age" : 25
}
print(student)
a = student.get("GPA")
b = student.get("age")
c = student.get("GPA", 4.5)
d = student.get("age", 1000)
print(a)
print(b)
print(c)
print(d)
[ dictionary.items() ]
각 key와 value의 튜플이 담긴 리스트 반환
주의 : 기존의 딕셔너리 값의 변화가 반영됨
student = {
"name" : "james",
"university" : "CAU",
"age" : 25
}
print(student)
item_list = student.items()
print(item_list)
student['age'] = 30 # 딕셔너리의 변화가 item_list에도 반영됨
print(item_list)
[ dictionary.keys() ]
딕셔너리의 모든 key의 리스트 반환
주의 : 기존의 딕셔너리 값의 변화가 반영됨
student = {
"name" : "james",
"university" : "CAU",
"age" : 25
}
print(student)
key_list = student.keys()
print(key_list)
student['GPA'] = 4.5 # 딕셔너리의 변화가 key_list에도 반영됨
print(key_list)
[ dictionary.pop(keyname, defaultvalue) ]
특정 요소를 반환하고 삭제
parameter : keyname(필수), defaultvalue(선택적)
주의 :
딕셔너리에 keyname이 존재하지 않을때 error 발생.
딕셔너리에 keyname이 존재하지 않을때 defaultvalue가 존재한다면 이를 반환
student = {
"name" : "james",
"university" : "CAU",
"age" : 25
}
print(student)
pop_element = student.pop("name")
print(pop_element) # name의 value가 반환
print(student) # name 요소가 사라짐
student = {
"name" : "james",
"university" : "CAU",
"age" : 25
}
pop_element = student.pop("GPA") # error 발생
print(pop_element)
print(student)
student = {
"name" : "james",
"university" : "CAU",
"age" : 25
}
# 딕셔너리에 GPA keyname이 없을 경우 4.5를 반환
pop_element = student.pop("GPA", 4.5)
print(pop_element)
print(student)
[ dictionary.popitem( ) ]
마지막으로 삽입된 key-value를 삭제 (파이썬 버전 3.7 이후)
랜덤으로 삭제 (파이썬 버전 3.7 이전)
student = {
"name" : "james",
"university" : "CAU",
"age" : 25
}
print(student)
pop_item = student.popitem()
print(student)
print(pop_item)
[ dictionary.setdefault(keyname, value) ]
특정 key의 value를 반환.
만약 해당하는 key가 없다면, key를 삽입
만약 해당하는 key가 있다면, value는 아무 효과 없음
parameter : keyname(필수), defaultvalue(선택적)
student = {
"name" : "james",
"university" : "CAU",
"age" : 25
}
print(student)
a = student.setdefault("name")
print(a)
print(student) # no change
b = student.setdefault("name","steve")
print(b)
print(student) # no change
c = student.setdefault("GPA", 4.5)
print(c)
print(student) # added "GPA":4.5
[ dictionary.update(iterable) ]
딕셔너리에 key-value 추가
튜플이나 리스트로 이뤄진 데이터를 딕셔너리에 추가하는데 용이하다
Input : dictionary or iterable data(key,value)
student = {}
print(student)
# iterable example
information = (
("name","james"),
("university", "CAU"),
("age",25)
)
student.update(information) # 딕셔너리에 추가됨
print(student)
# dictionary example
information = {"GPA" : 4.5}
student.update(information) # 딕셔너리에 추가됨
print(student)
# 이미 있는 key의 경우 value를 업데이트함
information = {"GPA" : 3.1}
student.update(information)
print(student)
[ dictionary.values( ) ]
딕셔너리의 모든 value들을 담은 리스트 반환
주의 : 기존의 딕셔너리 값의 변화가 반영됨
student = {
"name" : "james",
"university" : "CAU",
"age" : 25
}
print(student)
values_list = student.values()
print(values_list)
student["name"] = "jane" # 기존의 딕셔너리가 바뀌면 연동됨
print(values_list)
[ 참고 ]
https://www.w3schools.com/python/python_ref_dictionary.asp
'컴퓨터 언어 > Python' 카테고리의 다른 글
[ Python 3 ] 클래스(Class)를 제대로 알아보자! (인스턴스 속성, 클래스 속성, 메소드) (2) | 2022.08.14 |
---|---|
[ Python 3 ] 파이썬에선 정수 메모리를 어떻게 사용하는가? (0) | 2022.08.14 |
[ Python 3 ] 딕셔너리(dictionary) 복사시 주의!! ( copy, deepcopy ) (0) | 2022.08.13 |
[ Python 3 ] 딕셔너리(dictionary) 주의할 점 (key type, 인덱싱 가능?, 중복될 경우엔?) (0) | 2022.08.13 |
[ Python 3 ] 딕셔너리(dictionary) 생성 ({}, dict ()) (0) | 2022.08.13 |