情况: 当给定的HashKey通过url发送到视图时,Django视图从服务器(Amazon的DynamoDB表)获取数据项。你知道吗
问题: 因为它是一个非关系数据库,DynamoDB表中的某些项缺少其他项可能具有的键-->;对于某些获取尝试,会引发一个KeyError,这意味着如果我在视图中分配一个dictionary,它会因为该KeyError而停止整个过程。这意味着对于每次获取尝试(字典值赋值),我必须尝试/except KeyError。你知道吗
问题: 是否有python语法允许在赋值时在同一行上使用try/except?比如:
'times_a_day': try jsonFormatIndications[elem]['times_a_day']) except: pass
谢谢你!你知道吗
不,不能一行就完成。
您可以使用^{} 和函数在一行中优雅地处理所有情况。
我们可以定义一个名为
get_nested_key_value()
的泛型函数,它将使用3个参数my_dict
、outer_key
和inner_key
来获取所需的值。你知道吗my_dict
:正在执行查找的字典outer_key
:elem
在这种情况下inner_key
:在elem
字典中查找的键(本例中为times_a_day
)我们首先检查字典中是否存在
elem
,如果存在,然后使用.get()
检查times_a_day
是否存在。如果存在,我们将返回值。否则,返回None
。你知道吗然后您可以调用函数,该函数将在找到键的情况下返回值,否则
None
。你知道吗相关问题 更多 >
编程相关推荐