python에서 dict데이타끼리 merge하기.
def dict_merge(a, b, func=None):
''' dict A, B를 merge하여 새로운 dict R을 return '''
# new dict 'r'
r = dict(a)
if func==None: func = operator.add
for k,vb in b.iteritems():
va = r.get(k, None)
if va!=None: # A에 있는 value와 B의 value를 add(또는 주는어 func에 따라) 한다.
r[k] = func(va, vb)
else: # A에 없는 key는 B의 key와 value를 R에 추가
r[k] = vb
return r
a={'a':1,'b':2}
b={'c':3, 'b':4}
print dict_merge(a, b)
==>
같은 key에 대해서서는 add한 결과:
{'a': 1, 'c': 3, 'b': 6}
'Data/Text/Knowledge Analysis & Mining > Python' 카테고리의 다른 글
Damerau-Levenshtein Distance (Edit distance) 구하기 (0) | 2013.03.18 |
---|---|
[python] utf-8로 stdin 및 stdout 입출력 하기 (0) | 2013.03.18 |
best 최고 python IDE - PyCharm (0) | 2013.02.14 |
[python] timedelta값을 실수(real, float) 또는 정수(integer)로 변환 (0) | 2013.02.08 |
[python] addition of list value (list 더하기) (0) | 2013.02.07 |
WRITTEN BY
- manager@
Data Analysis, Text/Knowledge Mining, Python, Cloud Computing, Platform
,