带字符串索引的Python数组

时间:2010-09-22 00:44:44

标签: python arrays list dictionary

是否可以在python中使用字符串作为数组中的索引?

例如:

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

2 个答案:

答案 0 :(得分:128)

您想要的是associative array。在python中,这些被称为dictionaries

  

词典有时在其他语言中被称为“关联记忆”或“关联数组”。与通过一系列数字索引的序列不同,字典由键索引,键可以是任何不可变类型;字符串和数字总是键。

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。它被称为“强大的词典”。

答案 1 :(得分:4)

更好的是,试试OrderedDict(假设您需要类似列表的内容)。比常规字典更接近列表,因为键具有顺序,就像列表元素有订单一样。使用常规字典时,键具有任意顺序。

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