我有一个字典数组,但是我遇到了一个场景,我必须从字典数组的第一个索引中获取值,下面是我试图查询的块。你知道吗
address_data = record.get('Rdata')[0].get('Adata')
这将引发以下错误:
TypeError: 'NoneType' object is not subscriptable
我试着做到:
if record.get('Rdata') and record.get('Rdata')[0].get('Adata'):
address_data = record.get('Rdata')[0].get('Adata')
但我不知道上述方法是好是坏。你知道吗
那么如何在python中处理这个问题呢?你知道吗
编辑:
"partyrecord": {
"Rdata": [
{
"Adata": [
{
"partyaddressid": 172,
"addressid": 142165
}
]
}
]
}
您可能想选择简单而不刺激的路线:
表达式假定
record['Rdata']
将返回至少包含一个元素的列表,如果不是这样,请提供一个。你知道吗现在,如果
record['Rdata']
不存在,您仍将有一个空的dict
来调用get('Adata')
。最终结果将address_data
设置为None
。你知道吗(如果创建一个合适的默认值花费很大,则最好先检查密钥,因为无论
get
是否需要返回它,都将创建该默认值。但是[{}]
是相当轻量级的,编译器可以立即生成它。)相关问题 更多 >
编程相关推荐