是否可以在Python数组中使用字符串作为索引?
例如:
myArray = []
myArray["john"] = "johns value"
myArray["jeff"] = "jeffs value"
print myArray["john"]
Answers:
词典有时在其他语言中被称为“关联记忆”或“关联数组”。与用数字范围索引的序列不同,字典是用键索引的,键可以是任何不可变的类型;字符串和数字始终可以是键。
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 3中,您将获得dict_keys
,它是一个视图,效率更高(有关详细信息,请参见views docs和PEP 3106)。
print(myDict.keys()) # => dict_keys(['john', 'jeff'])
如果您想了解python词典的内部知识,我建议您观看此约25分钟的视频演示:https : //www.youtube.com/watch?v=C4Kc8xzcA68。它被称为“强大的字典”。
hash
只要将对象用作字典键。如果是这样,请为您的程序做好准备,使其以异常的方式崩溃或行为异常。
更好的是,尝试使用OrderedDict(假设您想要类似列表的内容)。比起常规字典,列表更接近列表,因为键具有顺序,就像列表元素具有顺序一样。对于常规字典,键具有任意顺序。
请注意,这在Python 3和2.7中可用。如果要与Python的早期版本一起使用,则可以找到可安装的模块来执行此操作。