带有string索引的Python数组

是否有可能使用string作为索引在Python中的数组?

例如:

myArray = [] myArray["john"] = "johns value" myArray["jeff"] = "jeffs value" print myArray["john"] 

你想要的是一个关联数组 。 在Python中,这些被称为字典 。

字典有时在其他语言中被称为“联想记忆”或“联想arrays”。 不同于以数字范围索引的序列, 字典是由键索引的,键可以是任何不可变的types ; string和数字始终可以是键。

 myDict = {} myDict["john"] = "johns value" myDict["jeff"] = "jeffs value" 

创build上述字典的替代方法:

 myDict = {"john": "johns value", "jeff": "jeffs value"} 

访问值:

 print myDict["jeff"] # => "jeffs value" 

获取密钥(在Python v2中):

 print myDict.keys() # => ["john", "jeff"] 

如果你想了解python字典内部知识,我推荐这个约25分钟的video演示: https : //www.youtube.com/watch?v=C4Kc8xzcA68 。 这就是所谓的“强大的字典”。

更好的是,尝试一个OrderedDict (假设你需要像列表一样的东西)。 更接近于一个列表,而不是一个普通的字典,因为按键有一个订单,就像列表元素一样。 随着一个正规的字典,键有一个任意的顺序。

请注意,这在Python 3和2.7中可用。 如果你想使用Python的早期版本,你可以find可安装的模块来做到这一点。