2012-01-02 2 views
74

私はPythonでHashMapを実装したいと思います。私はユーザに入力を求めたい。彼の入力に応じて、私はHashMapからいくつかの情報を取得しています。ユーザーがHashMapのキーを入力した場合は、対応する値を取得したいと思います。ハッシュマップをPythonで

この機能をPythonで実装するにはどうすればよいですか?

HashMap<String,String> streetno=new HashMap<String,String>(); 
    streetno.put("1", "Sachin Tendulkar"); 
    streetno.put("2", "Dravid"); 
    streetno.put("3","Sehwag"); 
    streetno.put("4","Laxman"); 
    streetno.put("5","Kohli") 
+0

http://meta.stackexchange.com/questions/15650/ban-lmgtfy-let-me-google-that-for-you-links – Alan

答えて

135

Python dictionaryは、キーと値のペアをサポートするビルトインタイプです。

streetno = {"1":"Sachine Tendulkar", "2":"Dravid", "3":"Sehwag", "4":"Laxman","5":"Kohli"} 

だけでなく、辞書のキーワードを使用して:

streetno = dict({"1":"Sachine Tendulkar", "2":"Dravid"}) 

か:

streetno = {} 
streetno["1"] = "Sachine Tendulkar" 
+4

2番目の例では、以前と同じ方法で辞書を作成していますそれをコピーします。この文脈でより適切な他の 'dict'は' dict(key1 = value1、key2 = value2、...) 'ですが、これは有効なPython識別子でもある文字列へのキーを必要とします(そして、これも辞書を作成します)。 – delnan

+0

興味深いことに、裸の文字列が有効な識別子であることはわかりませんでした。 – Alan

+0

私はあなたを正しく理解しているかどうか分かりません(「裸の紐」は何ですか?)が、あなたはそれを後方に持っていると思います。あなたの更新された2番目の例は無効で、私はそのようなことを述べるつもりはありませんでした。 [キーワード引数](http://docs.python。org/tutorial/controlflow.html#keyword-arguments)構文は、*唯一の*裸の識別子を受け取り、内部的に辞書を使用します。 'dict'コンストラクタはキーワード引数をサポートし、与えられたキーワード引数があれば' def dict(** kwds):return kwds'のように動作します。 – delnan

8

ハッシュマップがビルトインされているPythonで、彼らはdictionariesと呼ばれている:

streetno = {}      #create a dictionary called streetno 
streetno["1"] = "Sachin Tendulkar" #assign value to key "1" 

使用法:

"1" in streetno      #check if key "1" is in streetno 
streetno["1"]      #get the value from key "1" 

詳細については、ドキュメントを参照してください。組み込みメソッドなどがあります。 Pythonプログラムではとても素晴らしく、非常に一般的です(これは当然です)。

14

あなたが望んでいたのは(その当初の質問では)ヒントでした。ヒント:Pythonでは、dictionariesを使うことができます。

11

これはPythonに組み込まれています。 dictionariesを参照してください。あなたの例に基づいて

streetno = {"1": "Sachine Tendulkar", 
      "2": "Dravid", 
      "3": "Sehwag", 
      "4": "Laxman", 
      "5": "Kohli" } 

あなたはそのようにのようにアクセスできます。また

sachine = streetno["1"] 

言及する価値がある:それはキーと任意の非可変データ型を使用することができます。つまり、タプル、ブール値、または文字列をキーとして使用できます。

9
streetno = { 1 : "Sachin Tendulkar", 
      2 : "Dravid", 
      3 : "Sehwag", 
      4 : "Laxman", 
      5 : "Kohli" } 

と値を取得するには:

name = streetno.get(3, "default value") 

それとも

name = streetno[3] 

キーとして番号を使用しています、キーとして文字列を使用して数字の前後に引用符を置きます。

関連する問題