-
#3 파이썬 dictionary 딕셔너리 이용컴퓨터/파이썬 2020. 6. 20. 14:18728x90반응형
기본 문법
키, 값, print, update(),
test_dic = {'a': {'b': 'c'}, 'd': 'e'} print(test_dic['a']['b']) # 출력 : 'c' test_dic['a'].update({'o': {'f': 'e'}}) print(test_dic) # {'a': {'b': 'c', 'o': {'f': 'e'}}, 'd': 'e'}
keys(), values(), in, items()
test_dic = {'a': {'b': 'c'}, 'd': 'e'} print(test_dic.keys()) # dict_keys(['a', 'd']) 최상위 key들만 표시됨 print(test_dic.values()) # dict_values([{'b': 'c', 'o': {'f': 'e'}}, 'e']) 최상위 key들 안 값들 표시 print('a' in test_dic.keys()) # 출력 : True print('e' in test_dic.values()) # 출력 : True # key,value 같이 출력하기 for key, value in test_dic.items(): print(key, value) # 출력 : 'd', 'e' (nested dictionary는 출력 안됨)
2. key 안에 key 추가하여 값 찾기
dic = {'a': {'b': 'c'}, 'd': 'e'} def findNestedValue(value, dic): if value in dic: return dic[value] for val in dic.values(): if isinstance(val, dict): return findNestedValue(value, val) return None print(findNestedValue('b', dic) # 출력 : 'c'
3. key안에 key : value 계속 추가하기 (create nested dictionary)
dictionary를 node라고 생각하면 편해진다. (suffix-trie를 만들 때 사용할 수 있다)
test_dic = {} node = test_dic string = 'abcd' for i in range(len(string)): char = string[i] if char not in node: node[char] = {} # 없으면 새 노드 만들기 node = node[char] print(test_dic) # {'a': {'b': {'c': {'d': {}}}}}
728x90'컴퓨터 > 파이썬' 카테고리의 다른 글
Sublime Text 3 nose2 테스트 사용하기 (0) 2020.06.21 Sublime Text 3 파이썬 개발 환경 만들기 (0) 2020.06.14 #2 파이썬 여러가지 팁 (0) 2020.05.30