を試してみてください、あなたは、あなたの質問にすべてのリストが表示されません。あなたが望む例では、その値が辞書でもある辞書があります。角括弧[]
はリストを示す。中括弧{}
は辞書を示します。リストは、順序付けられたアイテムの配列です。辞書は値をkey:value
のペアに格納します。
第2に、順番に番号が付けられたキーを使用して辞書を作成することは実際にはありません。単に辞書のリストを作成し、代わりにリストの索引で各項目を参照できます。
x
またはtest1
またはyyyyy
よりも、変数の名前を指定する必要があります。あなたは[1,test1,yyyyy]
のようないくつかの値を持っているか、各項目をするために、対応[x.id,x.name,x.description]
言うよう
だからあなたの質問のためとして、それが聞こえる:
id
、
name
を、そして
description
は、私はあなたがこのデータをソートする方法のようなであると信じて:
data=[
{"id":1,"name":test1,"description":yyyyy},
{"id":2,"name":test2,"description":xxxxx}
]
だからあなたのコードは、次にあなたがそのような
ようなあなたのデータにアクセスすることができます
data=[]
for x in Test.objects.filter(act=True):
data.append({"id":x.id,"name":x.name,"description":x.description})
#Or as a list comprehension:
#data=[{"id":x.id,"name":x.name,"description":x.description} for x in Test.objects.filter(act=True)]
のようになります。あなたは本当にあなたがあなたの記事で説明した方法を正確にあなたのデータをフォーマットしたい場合
for item in data:
print("""\
ITEM ID: {}
ITEM NAME: {}
ITEM DESCRIPTION: {}
---------------------""".format(item["id"],item["name"],item["description"]))
:
the_dict={}
for index, x in enumerate(Test.objects.filter(act=True)): #assuming this is a list of objects
the_dict[str(index+1)]={"id":x.id,"name":x.name,"description":x.description}
#the +1 to start keys at 1 as in your example, instead of 0
編集:あなたの例を再読み込みした後、あなたがにIDをしたいよう実は、それが聞こえますちょうど限り、あなたは重複IDが(辞書のキーは一意である必要があります)がないことを確認しているとして、その場合には1-nは...
から任意の番号を付けていない辞書で、キー、可能:
the_dict={}
for x in Test.objects.filter(act=True):
the_dict[str(x.id)]={"id":x.id,"name":x.name,"description":x.description}
あなたの例は、値がリストではないので正確にシームレスではありません。 – tknickman
リストはどこですか? –
大丈夫です。私はこれで新しいです...私はリストとして渡さなければならないと思った。この例に示すように結果を得るのを助けてくれますか? – ash