- 论坛徽章:
- 0
|
本帖最后由 highkeji 于 2010-07-05 06:28 编辑
很奇怪, 感觉这个应该很常用可是居然Google不到任何结果....
要实现的是给一个可能为空的(类似)字典之内的N层的某一个参数赋值.
我会PHP, 在PHP中实现是这么操作:
- $z['Corp'][$corpId][$year]['oridata'] = $newRecord
- //所有键都可能不存在也可能已经有数据
复制代码 我现在在Python中的实现方法如下:-
- newRecord = 'something'
- z = zodbConn() #理解成 z={}即可.
- try:
- z['Corp'][corpId][year]['oridata'] = newRecord
- except KeyError:
- if z.has_key('Corp') == False:
- #因为可能已有数据, 所以不能写成 z{'Corp':{corpid:{year{'oridata':newRecord}}}}这样
- z['Corp'] = OOBTree() #理解成 z['Corp'] = {}即可.
- if z['Corp'].has_key(corpId) == False:
- z['Corp'][corpId] = {}
- if z['Corp'][corpId].has_key(year) == False:
- z['Corp'][corpId][year] = {}
- z['Corp'][corpId][year]['oridata'] = newRecord
复制代码 请问Python有简单些的实现方法么?
PS. 代码高亮怎么用啊~ |
|