Changes between Version 8 and Version 9 of Python
- Timestamp:
- 06/16/06 19:40:24 (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Python
v8 v9 112 112 longitude: 141.15 113 113 }}} 114 115 == dict 同士のマージ == 116 * dict.update() だと同じキーを持つ値が上書きされてしまうので,上書きせずに足し合わせたりできる関数が欲しかった. 117 * ただし,第一引数について破壊的,末端の value が数値以外に色々混ざってる時にどうなるかは知らん,という欠点あり. 118 119 {{{ 120 #!python 121 def merge(my_dict, new_dict, mergetype='add'): 122 for k, v in new_dict.iteritems(): 123 try: 124 if isinstance(v, dict): 125 merge(my_dict[k], v, mergetype) 126 else: 127 my_dict[k] = getattr(my_dict[k], '__%s__' % mergetype)(v) 128 except KeyError: 129 my_dict[k] = v 130 return my_dict 131 }}}