【发布时间】:2011-04-02 10:35:44
【问题描述】:
这是我的代码:
def set_floor_point(self,floor_point=None):
if self.data.get('stage'):
self.data['stage'] = {}
stage_number = self.get_stage_number()
floor_number = self.get_floor_number()
if self.data['stage'].get(stage_number):
self.data['stage'][stage_number] = {}
if self.data['stage'][stage_number].get('floor_point'):
self.data['stage'][stage_number]['floor_point'] = {}
if self.data['stage'][stage_number]['floor_point'].get(floor_number):
self.data['stage'][stage_number]['floor_point'][floor_number] = {}
self.data['stage'][stage_number]['floor_point'][floor_number] = floor_point
我第一次创建的字典是这样的:
stage =
{
0:{
'floor':{
0:{
'floor_point':0,
'gift':{}
}
}
}
}
但是我觉得我的代码不是很好,太繁琐了,
所以有人知道更简单的方法吗,
谢谢
【问题讨论】:
-
默认情况下,
dictget()方法在密钥不存在时返回None,所以也许你的意思是if not some_dict.get():。即使这样也可能被逻辑上为False的键值 所欺骗,例如0、''和[]。使用if not some_dict.has_key()或if key not in some_dict可能更好。
标签: python dictionary