oaNumber = i.get('serialCode') or i.get('oaNumber') 根据键获取值如果拿不到就用另一个这么写对不对

是的,您的理解是正确的。根据你的描述,oaNumber = i.get('serialCode') or i.get('oaNumber') 这段代码可以实现根据键获取对应的值,如果获取不到值,则使用另一个键对应的值。

具体来说,i.get('serialCode') 表示获取字典 i 中键为 'serialCode' 对应的值,如果该键对应的值不存在或为空,则返回 None。而 i.get('oaNumber') 表示获取字典 i 中键为 'oaNumber' 对应的值,同样如果该键对应的值不存在或为空,则返回 None

然后,通过使用逻辑运算符 or,可以实现当 i.get('serialCode') 返回 None 或为空时,将其替换为 i.get('oaNumber') 的值。如果 i.get('serialCode') 不为空,则将其作为 oaNumber 的值。

因此,oaNumber = i.get('serialCode') or i.get('oaNumber') 的效果是,先尝试获取键为 'serialCode' 对应的值,如果获取不到,再尝试获取键为 'oaNumber' 对应的值。最终将获取到的值赋给变量 oaNumber

如果这样的逻辑符合您的需求,您可以在代码中使用此写法。如果您还有其他问题,请随时向我提问。