2016-04-18 8 views
0

なぜこのコードはキーを追加しますが、Pythonの辞書の値は追加しませんか?ここPythonの辞書に変数を挿入する

結果である次のよう

$ python hashtest.py 
set(['yes:no']) 
set(['hi', 'yes:no']) 

、コードは次のとおり

hashmap={"yes:no"} 

print hashmap 
var1="hi" 
var2="bye" 

#hashmap[var1]=var2 
#print hashmap 

hashmap.update({var1:var2}) 
print hashmap 

第一の方法(hashmap[var1] = var2)型エラー(割り当て)を得ました。

TIA

+1

'hashmap = {" yes:no "}'は 'dict'ではなく' set'を作成します。 FWIWでは、 'set'は本質的にキーを持つ' dict'ですが、値はありません。 –

+1

'hashmap = {" yes ":" no "}'を使って辞書を作成してください。ここでは、辞書を作成しています。 – Aurel

答えて

1

私はあなたがあなたの目的のために必要となるデータ構造の種類を最初に理解するためにあなたをお勧めします。

このquestionが便利です。特に、

•値にマップする一意のキーがある場合は、辞書を使用します。

•セットを使用して、順序付けられていない一連のアイテムを格納します。

あなたは、あなたの場合はHigh Performance Python

の第4章で広範な説明を見つけることができますが、あなたがdictionaryを作成したいと思われるので、これはそれがどのように見える

>>> hashmap = {} 
>>> hashmap["yes"] = "no" 
>>> hashmap 
{'yes': 'no'} 
>>> var1="hi" 
>>> var2="bye" 
>>> hashmap[var1] = var2 
>>> hashmap 
{'yes': 'no', 'hi': 'bye'} 
0

あなたを助ける必要があります辞書内の特定のキーの値を変更しようとしています。これを行うコードがいくつかあります。

>>> mydict = {'hi' : 'hello', 'bye' : 'goodbye', 'see ya' : None } 
>>> print mydict 
{'bye': 'goodbye', 'hi': 'hello', 'see ya': None} 
>>> mydict['see ya'] = mydict['bye'] 
>>> mydict 
{'bye': 'goodbye', 'hi': 'hello', 'see ya': 'goodbye'} 
+0

辞書に値を追加するための一般的なSOのリンクがあります:http://stackoverflow.com/questions/1024847/add-key-to-a-dictionary-in-python – rajah9

関連する問題