본문 바로가기

딕셔너리3

# 14. dictionary setdefault, defaultdict 그동안 여러모로 일이 많아서 포스트가 미뤄졌습니다.. (--) (__) 그동안 새로 알게된 사실들을 차근차근 정리하고자 한다.. 우선 딕셔너리에 기본값을 설정하는 깔끔한 방법부터 정리하겠다! 이번 포스트에서 다룰 내용은 크게 두 가지이다. 첫 번째는 setdefault() 메소드를 활용하여 단일 키값에 대한 기본값 설정, 두 번째는 defaultdict 컬렉션을 활용하여 대입되는 키값에 대한 기본값 설정이다. 바로 코드로 확인해보겠다. # setdefault 를 알기 전, 각 키별로 기본값을 설정하는 방법 def set_default_value(): d = dict() keys = [1, 2, 3, 4, 5] for k in keys: d[k] = list() print(d) 만약 각 키값에 리스트를 기.. 2021. 5. 28.
# 11. [Tip] dictionary merge 이번 포스트에서는 딕셔너리를 병합하는 방법에 대해 다뤄보고자 한다. 리스트 자료형같은 경우에는 extned() 메소드를 사용하여 확장할 수 있다. 마찬가지로 딕셔너리도 방법이 존재한다. 우선 이 포스트를 보기 이전에 가변 인자에 대한 개념이 부족하다면 dev-ryuon.tistory.com/4?category=908968 를 먼저 참고하는 것을 추천한다. 먼저 mutable한 방법부터 살펴본다. d1.update(d2) print(d1) >> {'a': 1, 'b': 5, 'c': 3, 'd': 4} 딕셔너리 클래스의 update() 메소드를 사용하면 d1 딕셔너리 인스턴스에 d2 딕셔너리 인스턴스의 내용이 덮어쓰인 것을 확인할 수 있다. 다음으로는 immutable한 방법을 살펴보겠다. d1 = {'a.. 2021. 4. 14.
#8. [Tip] if, 삼항연산자가 사용하기 싫을 때 @pyqtSlot(bool) def on_toggled_change_highlight(self, state): for rubber in self.rubbers: rubber.setColor({True: QColor(247, 230, 0), False: Qt.transparent}[state]) self.iface.mapCanvas().refresh() 딕셔너리에 bool 타입의 키값을 대입하여 사용할 수 있다. 필자와 같은 경우 이벤트 핸들러에 넘겨지는 bool 타입의 인자를 딕셔너리의 키값으로 활용한 케이스이다. 2021. 3. 24.