2017-08-06 15 views
-2

辞書の値とキーを動的に追加しようとしています。Python - 複数のキーと値を辞書に追加する方法

例:

最初に私のように辞書を持っています:

dict1 = {'ID':2048, 'Name':'john', 'Father Name':'David'} 

そして、次の反復辞書に下記で更新する必要があります。

dict1 = ({'ID':2048, 'Name':'john', 'Father Name':'David'}, {'ID':2054, 'Name':'steve', 'Father Name':'Bird'}) 

その後、次の反復がなります

dict1 = ({'ID':2048, 'Name':'john', 'Father Name':'David'}, {'ID':2054, 'Name':'steve', 'Father Name':'Bird'}, {'ID':2046, 'Name':'Calvin', 'Father Name':'Adam'}) 

などなど.....

は、私は以下のようにIDごとにdict1を並べ替えることがあります。

dict1 = ({'ID':2046, 'Name':'Calvin', 'Father Name':'Adam'}, {'ID':2048, 'Name':'john', 'Father Name':'david'}, {'ID':2054, 'Name':'steve', 'Father Name':'Bird'}) 

私はコードの下で試してみました:

dict1 = {} 

## Here Candidate_ID, Candidate_Name and Candidate_Father_Name will be updated as per the script flow. 
dict1.update({'ID': Candidate_ID, 'Name': Candidate_Name, 'Father Name' : Candidate_Father_Name) 

してください同じ値(ID、名前、父の名前)、 で辞書のキーを更新する方法を提案し、値 "ID"の辞書を並べ替える。

+0

'dict1 =({「ID」:2048、「名前」:「ジョン」、「父名」:「デビッド」} 、{'ID':2054、 '名前': 'steve'、 'Father name': 'Bird'}) 'はディクティではありませんonaryしかしdictsのタプル。各反復で辞書を追加するには、リストを使用します。 – Ricardo

答えて

0

辞書は1つのキーと1つの値しかサポートしていないと思います。

これをチェックアウト: Dictionaries - Learn Python

をあなたは何ができるかは、リストや配列で、あなたの値を変換することです。

+0

値はリストにすることができます。 – Nenad

2

各辞書が同じキーを保持する情報の集合であることを探しているので、これを辞書のリストで収集したいと考えています。ディクショナリには固有のキーしか保持できないため、ディクショナリを構造化する方法を知るには、これをサポートするデータ構造が必要です。リストは、ここでは、良い候補者です。

だから、あなたはこのような何かしたい:データの

data = [] 
user_data = {'ID':2048, 'Name':'john', 'Father Name':'David'} 
data.append(user_data) 
new_user_data = {'ID':2049, 'Name':'bob', 'Father Name':'McBobsalot'} 
data.append(new_user_data) 

出力:これを見て

data = [{'ID':2048, 'Name':'john', 'Father Name':'David'}, {'ID':2049, 'Name':'bob', 'Father Name':'McBobsalot'}] 

別の方法を、まだ辞書の辞書を持っている可能性があるが、あなたいくつかの再構成が必要です。 「ID」自体が各辞書の鍵であることを考慮し、前記鍵の値が関心のある辞書であると考えてください。これを説明しやすくするために、それは次のようになります方法を見てみ:

data = {} 
new_data = {'ID':2048, 'Name':'john', 'Father Name':'David'} 
data[new_data['ID']] = new_data 

助けるために非常に簡単な方法:辞書に追加の

data = { 
    2048: {'ID':2048, 'Name':'john', 'Father Name':'David'}, 
    2049: {'ID':2049, 'Name':'bob', 'Father Name':'McBobsalot'} 
} 

非常に単純な例では、このようなものになるだろうあなたはちょうどあなたが追加したい辞書とデータを渡す場所を動的にこれをサポートしています。

def add_data(your_dict, new_data): 
    your_dict[new_data['ID']] = new_data 
    return your_dict 
+0

答えをありがとう.... – Shanky

関連する問題