随着Alexa中新的Entity Resolution,嵌套字典变得非常嵌套。引用深度嵌套值的最具python风格的方法是什么?如何编写代码,使其保持在每行79个字符以内?在
这就是我目前所拥有的,虽然它有效,但我确信还有更好的方法:
if 'VolumeQuantity' in intent['slots']:
if 'resolutions' in intent['slots']['VolumeQuantity']:
half_decibels = intent['slots']['VolumeQuantity']['resolutions']['resolutionsPerAuthority'][0]['values'][0]['value']['name'].strip()
elif 'value' in intent['slots']['VolumeQuantity']:
half_decibels = intent['slots']['VolumeQuantity']['value'].strip()
下面是来自alexa的json的部分示例
^{pr2}$
首先,您可以使用一些命名良好的中间变量使程序更可读、更简单、更快:
其次,您可以编写一个帮助函数
^{pr2}$nav(structure, path)
来浏览这些结构,这样,例如拆分给定路径并执行索引/查找操作序列。{{cd2>你不必这么做。在
您可能引用的是嵌套字典,列表只接受整数索引。在
不管怎样,(ab?)使用括号内的隐含行延续,我认为这是非常可读的:
或者另一种选择
^{pr2}$相关问题 更多 >
编程相关推荐