带有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可安装的模块来做到这一点。