0

やあみんなこれは簡単な質問だと思うが、これらのコード行が何と呼ばれているのかわからないので、検索するのは難しい:(あなたが私を助けてくれることを願っています!

コンテキストとして、DjangoのFQLクエリからデータを取得しており、このコードはViews.pyにあります。これらの3つの線を組み合わせる方法やこれを単純化する方法があるかどうか疑問に思いました。ありがとう!

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

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 に答える
0

3行にしてください。非常に読みやすく、実行に時間がかかりません。

あなたがそのブロックからKeyErrorまたはを追跡しようとしているとき、あなたは私に感謝するでしょう。IndexError

多分あなたは変数名を改善することができます。これが私の提案です

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