0

嘿伙计们,我觉得这是一个简单的问题,但我不知道这些代码行叫什么,所以我很难搜索它:(希望你能帮助我!

对于上下文,我从 Django 中的 FQL 查询中获取数据,此代码位于 Views.py 中。我想知道是否有任何方法可以将这三行合并或简化。谢谢!

edu = result[0]['education']
educa = edu[0]['school']
education = educa['name']
4

3 回答 3

1

只需将引用替换最后一个表达式中的变量名:

education = result[0]['education'][0]['school']['name']

不确定这是否更具可读性。

于 2012-08-04T16:45:18.890 回答
0

保持在 3 行。它的可读性很强,而且真的不需要更长的时间来运行。

当你试图从那个街区追踪一个KeyError或时,你会感谢我的。IndexError

也许你可以改进变量名。这是我的建议

education = result[0]['education']
school = education[0]['school']
school_name = school['name']
于 2012-08-04T16:59:52.147 回答
0

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)
于 2012-08-04T16:52:05.623 回答