본문 바로가기
컴퓨터 언어/Python

[ Python 3 ] 딕셔너리(dictonary) 메소드 methods(update, items, keys, values, fromkeys, clear, pop)

by SuperMemi 2022. 8. 14.
반응형

[ Python 3 ] 딕셔너리 메소드 함수들


[ 이전 글 ]

딕셔너리 타입 ( {}, dict ()) 생성

 

[ Python 3 ] 딕셔너리 타입 ( {}, dict ()) 생성

[ Python 3 ] 딕셔너리 타입 ( dict (), key, value ) 1. 딕셔너리 (dictionary) 타입이란? 딕셔너리 타입은 키(Key; immutable)와 값(value; mutable)으로 매핑되어 있는 순서가 없는 집합입니다. 다..

supermemi.tistory.com

딕셔너리 타입 주의할 점(key type, 인덱싱 가능?, 중복될 경우엔?)

 

[ Python 3 ] 딕셔너리 타입 주의할 점(key type, 인덱싱 가능?, 중복될 경우엔?)

[ Python 3 ] 딕셔너리 타입 주의할 점(key type, 인덱싱 가능?, 중복될 경우엔?) 이전글 : 2022.08.13 - [분류 전체보기] - [ Python 3 ] 딕셔너리 타입 ( dict (), key, value ) [ Python 3 ] 딕셔..

supermemi.tistory.com

딕셔너리 타입 복사시 주의!! ( copy, deepcopy )

 

[ Python 3 ] 딕셔너리 타입 복사시 주의!! ( copy, deepcopy )

[ Python 3 ] 딕셔너리 타입 복사시 주의!! ( copy, deepcopy ) 이전글 2022.08.13 - [컴퓨터 언어/Python] - [ Python 3 ] 딕셔너리 타입 ( {}, dict ()) 생성 [ Python 3 ] 딕셔너리 타입 ( {}, dict..

supermemi.tistory.com


[ 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(선택적)

  1. 딕셔너리에 key가 존재하지 않을 경우, none을 반환
  2. 딕셔너리에 key가 존재할 경우, value를 반환
  3. 딕셔너리에 key가 존재하지 않을 경우, value 파라메터가 존재한다면 value파라메터를 반환
  4. 딕셔너리에 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


 

반응형