2017-11-24 12 views
0

プロファイルを含む辞書があります。すべてのプロファイルには、「約」の量が異なります。例えば、人1は、「生きている」、「そこに生きている」、「これを食べている」、「そこに住んでいる」という2つのカテゴリーを持っています。Python 3:ディクショナリに複数の変数を追加する辞書

すべての私のプロファイルはここではコピーできませんでした。このforループでは、aboutsの範囲を取得し、[abouts]の内容を含むx変数を作成する新しいループを作成しました。アル私はこれを私の辞書{friend}に書きたい。出力として

私がしたい:

friend={"screenname":profilename,"id":profileid,"username":username, "about 1" : lives in ,"about 2": works at , and so on untill al the abouts are found and written in the dict. }

おかげでたくさん!

私はこのコードを実行すると、彼は私の辞書に最新のものを置くだけです。

for i in range(len(abouts)): 
    #print ("about"+str(i) +"=" +abouts[i]) 
    friend={"screenname":profilename,"id":profileid,"username":username, 
    "about"+str(i):abouts[i]} 
+0

私が提供した解決策があなたのために働くことを願っています:) –

答えて

2

なぜリストを辞書のキーに挿入しないのですか?ご希望の出力は

aboutsこれはまた、順序付きコレクションであるので、それはabout財産

更新のインデックスを使用してデータをフェッチするためにはるかに効率的になるリスト

friend={"screenname":profilename,"id":profileid,"username":username, 
"about":abouts} 

であることを考えます

:あなたがあなたのコードを簡素化することができ

friend={"screenname":profilename,"id":profileid,"username":username, 
"about 1" : lives in "} # and so on... 

です

friend={"screenname":profilename,"id":profileid,"username":username} #create your dictionary first 

for key, value in enumerate(abouts): 
     friend["about "+str(key)] = value 

コードに問題があります。ループは、新しいループごとに変数friendが上書きされることです。辞書を外に作成してフィールドを更新する必要があります。

個人的には、これははるかに簡単なアプローチであり、データを取得/表示する方がはるかに簡単であるため、個人的に私はリスト(私の最初の例)を使う方が好きです。