딕셔너리 키를 중복으로 넣는 법
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
반응형
'Language > Python' 카테고리의 다른 글
python permutations (0) | 2020.01.30 |
---|---|
python 서로 다른 크기의 리스트 합치기(zip_longest) (0) | 2020.01.18 |
python range, enumerate 차이점 (1) | 2020.01.14 |
python 리스트 안에 딕셔너리 중복제거 하는 방법 (0) | 2019.07.25 |
Selenium 간단 정리 (0) | 2019.07.17 |