2016-12-09 7 views
0

Pythonのnoobはここにあります。私は簡単にアクセスできるように、ネストされた辞書にプレーヤーの値(HP、xpos、yposなど)のリストを保存しようとしています。だから..Python - ネストされた辞書への新しいキー

players = {'John': {'HP': 10, 'xpos': 50, 'ypos': 46}} 
print players['John']['HP'] 

これは機能しますが、後で参加する新しいプレーヤーを追加/追加するにはどうすればよいですか?私が試した:

players['Paul']['HP'] = 50 

と...

players{'Paul': {'HP': 50, 'xpos': 10, 'ypos': 99}} 

と...

players['Paul': {'HP': 50, 'xpos': 10, 'ypos': 99}] 

を様々なエラーを与えるすべてが。どうすればいいのですか?

答えて

0

ポールのデータはそれ自体の辞書です。その場合、あなたはこのようにそれを行うことができます。つまり

players['Paul'] = {'HP': 50, 'xpos': 10, 'ypos': 99} 

は、新しいキーとなり、メインplayers辞書にポールと呼ばれる新しいプレーヤーを挿入しようとしています。そのキー自体は、値として別の辞書に関連付けられています。

+0

ありがとうございます!私ができるときに答えとして受け入れるでしょう – herewego

0

追加または更新する値のキーを特定する必要があります。たとえば、

{"example":5}をJohnに追加します。 これは、dictの他の部分と、より多くの値で行うことができます。

+0

これは質問に対処しません。 Johnに余分なデータを追加するのではなく、新しいプレーヤーとその関連データをメインの「選手」辞書に追加することでした。 – roganjosh

+0

iveはあなたがdictの他の部分でそれを行うことができると説明した:) –

0
# i prefer the keyword solution 
players['Paul'] = dict(HP = 000, xpos = 000, ypos= 000) 
players['Paul']['HP'] = 50 
print players['Paul']['HP'] 
# 50 

# here done by zip: 
# basic example 
_keys = ['HP', 'xpos', 'ypos'] 
_values = [50, 60, 70] 
players['Paul'] = dict(zip(_keys, _values)) 
print players['Paul']['HP'] 
# 50 
関連する問題