Language/Python
python 딕셔너리 키 중복으로 넣는법
kangprog
2020. 1. 15. 19:17
반응형
딕셔너리 키를 중복으로 넣는 법
Python dict를 사용하다보면
{"bob":19, "anna":15, "bob":20}
위 딕셔너리처럼 동일한 Key인, bob이 존재할 수 있는 경우가 발생한다.
위 그대로 person = {"bob":19, "anna":15, "bob":20}
를 하게되면,
person을 print 할 시, {"bob":20, "anna":15}
로 나올 것이다.
지금부터 설명할 내용은,
내가 원하는 바는 {"bob":19, "anna":15, "bob":20}
였는데, {"bob":20, "anna":15}
로 나올때{"bob":19, "anna":15, "bob":20}
로 딕셔너리에 저장하는 방법이다.
class person(object):
def __init__(self,name):
self.name = name
def __str__(self):
return self.name
def __repr__(self):
return "'"+self.name+"'"
위처럼 각 Key를 각각의 객체로 만들어버리는것이다.
위 class를 적용한 예시를 아래 적어놓음
class person(object):
def __init__(self,name):
self.name = name
def __str__(self):
return self.name
def __repr__(self):
return "'"+self.name+"'"
def solution():
tmp_dict = {}
tmp_dict[person("bob")] = 18
tmp_dict[person("bob")] = 20
tmp_dict[person("anna")] = 15
print (tmp_dict)
아웃풋은 원했던것처럼 다음과같이 나온다
>>> {"bob":18, "bob":20 ,"anna":15, }
참고링크
http://www.wellho.net/mouth/3934_Multiple-identical-keys-in-a-Python-dict-yes-you-can-.html
반응형