嘿伙计们,我觉得这是一个简单的问题,但我不知道这些代码行叫什么,所以我很难搜索它:(希望你能帮助我!
对于上下文,我从 Django 中的 FQL 查询中获取数据,此代码位于 Views.py 中。我想知道是否有任何方法可以将这三行合并或简化。谢谢!
edu = result[0]['education']
educa = edu[0]['school']
education = educa['name']
只需将引用替换最后一个表达式中的变量名:
education = result[0]['education'][0]['school']['name']
不确定这是否更具可读性。
保持在 3 行。它的可读性很强,而且真的不需要更长的时间来运行。
当你试图从那个街区追踪一个KeyError
或时,你会感谢我的。IndexError
也许你可以改进变量名。这是我的建议
education = result[0]['education']
school = education[0]['school']
school_name = school['name']
Martijn 是对的-我不确定可读性-如果您发现自己经常这样做,那么我会很想使用辅助功能...它使事情变得更清楚。
def get_education(edu, main_idx=0, edu_idx=0):
"Get the name of the school where education was received"
return edu[main_idx]['education'][edu_idx]['school']['name']
然后只需使用:
education = get_education(result)