0

データベース内のデータにアクセスするPythonコードがあります(Django内):

for result in request.user.results.all():
    for word in result.word.all():
        data.append(dict(zip([str(word.type.type)], [str(word.word)])))

「データ」を次のように表示します。

[{'color': 'blue'}, {'kind': 'pencil'}, {'rating': 'high'}, {'color': 'red'}, {'kind': 'truck'}, {'rating': 'low'} and so on....

代わりにこれを表示するようにPythonコードを書き直したい:

[{'color': 'blue', 'kind': 'pencil', 'rating': 'high'}, {'color': 'red', 'kind': 'truck', 'rating': 'low'} and so on....

これら 2 つは同じですか、それとも「{」の位置が重要ですか? 上記のコードを書きましたが、それをどのように (または必要に応じて) 変更するかはわかりません。

4

1 に答える 1

2

単一項目のリストをまとめて単一項目のディクテーションを作成するように見えます。代わりに欲しいのは次のとおりだと思います:

for result in request.user.results.all():
    data.append(dict([(word.type.type, word. word) for word in result.word.all()]))

zip通常、2 つの既存のリストがある状況で辞書を作成するために使用されますが、オブジェクトから最初から辞書を作成する場合はあまり使用されません。

于 2012-11-28T17:43:03.143 に答える