是否可以在python中使用字符串作为数组中的索引?
例如:
myArray = []
myArray["john"] = "johns value"
myArray["jeff"] = "jeffs value"
print myArray["john"]
答案 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,你可以找到可安装的模块来做到这一点。