Pythonで配列のインデックスとして文字列を使用することは可能ですか?
例えば:
myArray = []
myArray["john"] = "johns value"
myArray["jeff"] = "jeffs value"
print myArray["john"]
欲しいものは 連想配列 と呼ばれます。 pythonこれらは 辞書 と呼ばれます。
辞書は、他の言語では「連想記憶」または「連想配列」として見られることがあります。一連の数字でインデックス付けされるシーケンスとは異なり、辞書はキーでインデックス付けされます。キーは不変のタイプでもかまいません;文字列と数字は常にキーにすることができます。
myDict = {}
myDict["john"] = "johns value"
myDict["jeff"] = "jeffs value"
上記の辞書を作成する別の方法:
myDict = {"john": "johns value", "jeff": "jeffs value"}
値へのアクセス:
print myDict["jeff"] # => "jeffs value"
キーの取得(Python v2):
print myDict.keys() # => ["john", "jeff"]
python辞書内部について学習したい場合は、次の25分間のビデオプレゼンテーションをお勧めします。 https://www.youtube.com/watch?v=C4Kc8xzcA68 。「マイティ辞書」と呼ばれます。
さらに良いことに、 OrderedDict を試してください(リストのようなものが欲しいと仮定します)。リスト要素に順序があるようにキーにも順序があるため、通常の辞書よりもリストに近い。通常の辞書では、キーの順序は任意です。
これはPython 3および2.7で利用可能です。以前のバージョンのPythonで使用したい場合は、インストール可能なモジュールを見つけることができます。