本节书摘来自异步社区《Python参考手册(第4版•修订版)》一书中的第1章,第1.9节,作者David M. Beazley,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.9 字典
字典就是一个关联数组或散列表,其中包含通过键(key)索引的对象。在大括号({ })中放入值即可创建字典,如下所示:
stock = {
"name" : "GOOG",
"shares" : 100,
"price" : 490.10
}
要访问字典成员,可使用键索引运算符,如下所示:
name = stock["name"]
value = stock["shares"] * shares["price"]
插入或修改对象的方法是:
stock["shares"] = 75
stock["date"] = "June 7, 2007"
尽管字符串是最常用的键类型,还可以使用其他的Python对象,包括数值和元组。但包括列表和字典在内的一些对象不能用作键,因为它们的内容可以发生变化。
如前所述,在定义一个可包含多个命名字段的对象时,字典是一种很有用的方式。然而,字典也可用作快速查找无序数据的一个容器。例如,下面是一个股票价格的字典:
prices = {
"GOOG" : 490.10,
"AAPL" : 123.50,
"IBM" : 91.50,
"MSFT" : 52.13
}
创建一个空字典有两种方式:
prices = {} # 一个空字典
prices = dict() # 一个空字典
使用in运算符可以检验某个内容项是不是字典成员,如下所示:
if "SCOX" in prices:
p = prices["SCOX"]
else:
p = 0.0
这个特殊的步骤序列还可以写成更简洁的形式,如下所示:
p = prices.get("SCOX",0.0)
要获得一个字典关键字的列表,将字典转换为列表即可:
syms = list(prices) # syms = ["AAPL", "MSFT", "IBM", "GOOG"]
使用del语句可以删除字典的元素:
del prices["MSFT"]
字典可能是Python解释器中最完善的数据类型。因此,如果只是要在程序中存储和处理数据,使用字典比使用一些自定义数据结构要好得多。