파이썬 딕셔너리 값 추가 후 문자열로 출력하기
조회수 1004회
class HashMap:
def __init__(self):
self.vals = {}
def insert(self, key, val):
self.vals = {key:val}
def __str__(self):
result = ''
for i in self.vals.items():
result = result + str(i) + ','
return '{' + result[:-1] + '}'
hashMap = HashMap()
hashMap.insert("grade", 1)
hashMap.insert("number", 60171234)
hashMap.insert("name", "Gildong Hong")
print(hashMap)
위 코드를 실행해서 {"grade" : 1, "number" : 60171234, 'name' : 'Gildong Hong'} 이러한 결과가 문자열로 출력되게끔 하고 싶은데 딕셔너리 값 추가가 안 될 뿐더러 마지막 출력 결과도 생각한대로 안 되네요ㅜㅜ 어떻게 수정해야 할까요 도움 주시면 감사하겠습니다
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
class HashMap: def __init__(self): self.vals = {} def insert(self, key, val): self.vals[key] = val
insert
에서 계속 리셋해버리는 게 가장 큰 문제였고요.__str__
은 출력형식이 좀 틀렸는데, 잘 고치시리라 믿어요.
댓글 입력