일부 중요한 데이터를 저장하기 위해 OrderedDict를 사용하고 있습니다. 실수로이 사전에 새 키를 삽입하면 예외가 발생하지만, 은이되어야합니다. 키를 수정하려면 (__init__
에서 생성 된 후) 키를 원한다. 일부 도서관 수업에서 그렇게 할 수 있습니까? 아니면 어떻게 든 새 클래스를 구현해야합니까?고정 키와 정렬 키가있는 변경 가능한 사전
예 :
d = FixedOrderedDict((("A", 1), ("B", 2)))
print d["A"]
# 1
d["A"] = 11
print d["A"]
# 11
d["C"] = 33
# throws exception
나는 FrozenDict라는 솔루션을 찾아 볼 것을 권장했지만 그것은 DICT 읽기 전용으로 만드는 - 값 수정 (새로운 값을 할당 할 때 예외를 throw) 할 수 없습니다. 이것은 내가 성취하고자하는 것이 아닙니다.
나는 꽤 비슷한 문제에 잠깐 들렀다. 나는'__additem __()'IIRC를 하위 클래스화하고 오버라이드해야했습니다. – rdodev