반응형

딕셔너리 5

[파이썬 기초] 유사 딕셔너리 defaultdict() 활용법

defaultdict()는 딕셔너리를 만드는 dict클래스의 서브클래스이다. 작동하는 방식은 거의 동일한데, defaultdict()는 인자로 주어진 객체(default-factory)의 기본값을 딕셔너리값의 초깃값으로 지정할 수 있다. 숫자, 리스트, 셋등으로 초기화 할 수 있기때문에 여러 용도로 사용할 수 있다. 기본적인 작동방식을 살펴보면 >>> from collections import defaultdict # 외부함수이기 때문에 import 해야한다. >>> int_dict = defaultdict(int) >>> int_dict defaultdict(, {}) # 디폴트값이 int인 딕셔너리 위와 같이 설정을 하면 값을 지정하지 않은 키는 그 값이 0으로 지정된다. >>> int_dict['k..

IT 2023.02.08

[파이썬 기초] 딕셔너리 컴프리헨션

앞서 리스트 컴프리헨션을 이용하여 여러가지 리스트 자료구조를 만들어보았다. 딕셔너리도 컴프리헨션으로 간단하게 생성 할 수 있다. 수식은 다음과 같다. {키 : 값 for 표현식 in 순회가능객체(list, set, range() 등) } if문을 이용하여 값을 걸러내고 싶다면 다음과 같이 사용한다. {키 : 값 for 표현식 in 순회가능객체(list, set, range() 등) if (앞의 표현식을 이용한 조건) } 수식이 너무 어려워 보이니 예제를 살펴보자. 예) 먼저 키가 정수이고, 값이 정수의 제곱인 딕셔너리를 만들어보자. 편의상 0~4까지만 해보자. 결과값은 아래와 같이 출력될 것이다. 결과 딕셔너리 = {0:0, 1:1, 2:4, 3:9, 4:16} 1) for문 이용 2) 딕셔너리 컴프리헨..

IT 2019.04.09

[파이썬 기초] 자료구조(3) - 딕셔너리

파이썬 대표 자료구조의 하나인 딕셔너리를 살펴보자. 문자열과 리스트의 경우는 자료가 순차적으로 구성되어 있다. 그렇기때문에 오프셋을 이용해서 각 항목에 접근할 수 있었다. >>> t_list = ['a','b','c'] >>> t_list ['a', 'b', 'c'] >>> t_list[0] 'a' >>> t_list[1] 'b' 이런 방식은 특정 항목을 찾고자 할때 문제가 될 수 있다. 내가 'a'라는 값을 찾고 싶을때는 전체 리스트를 다 뒤져봐야 찾을 수 있다. 리스트가 몇개 안된다면 상관없겠지만, 그 수가 많아진다면 많은 시간이 소요될 수 있다. 특정값을 딱!하고 찾고 싶을때는 딕셔너리가 좋은 방안이 될 수 있다. 딕셔너리는 키와 값을 한쌍으로 항목을 관리한다. 그래서 키값을 알고 있으면 항목을 바..

IT 2018.12.05

[파이썬 기초] 순서지정된 딕셔너리 OrderedDict()

파이썬 딕셔너리는 순서를 관리하지 않는다. 내가 a, b, c 순으로 키를 입력했다고해서, 출력 시 a, b, c로 출력되지 않는다는 말이다. 진짜 그런지 딕셔너리를 생성해 보았다. >>> random_dict = dict() >>> random_dict['a'] = 1 >>> random_dict['b'] = 2 >>> random_dict['c'] = 3 >>> random_dict {'a': 1, 'b': 2, 'c': 3} 순서대로 출력된다. 조금만 더 넣어보자. >>> random_dict['pros'] = 4 >>> random_dict['cons'] = 5 >>> random_dict {'a': 1, 'b': 2, 'c': 3, 'pros': 4, 'cons': 5} 계속 순서대로 출력된다...

IT 2018.11.22

[파이썬 기초] 딕셔너리 값 가져오기 get(), setdefault()

파이썬 딕셔너리에서 키에 해당하는 값을 가져오려고 하면 주로 아래와 같이 사용한다. >>> week_dict = dict() >>> week_dict['Mon'] = '맑음' >>> week_dict['Tue'] = '구름' >>> week_dict['Sun'] = '비' >>> week_dict {'Mon': '맑음', 'Tue': '구름', 'Sun': '비'} >>> >>> weather = week_dict['Sun'] >>> weather '비' week_dict['Sun'] 을 실행하면 'Sun' 키에 대한 값 '비'를 가져온다. 그런데 딕셔너리에 없는 값을 지정하면 어떻게될까? 아래와 같이 예외가 발생한다. >>> week_dict['Fri'] Traceback (most recent cal..

IT 2018.11.21
반응형