传说中学会了这种容器,就会拥有超酷的能力!
- 字典 就是一个关联数组或散列表,其中包含通过关键字索引的对象。
创建一个空字典两种方式:
price = {}
price = dict()
- 字典(dictionary or dict)与列表(list)的区别
对于列表,我们可以用数字作为索引,来寻找列表中的元素。而字典(dict)所做的,是让你可以通过任何东西来找到元素,而不只是数字。字典(dict)可以将一个物件与另一个东西关联,而不管他们是什么类型!
关于字典的无序与列表的有序性:
列表是一组有序项目的数据结构。
字典中的键/值是没有顺序的。如果你想要一个特定的顺序,你必须在使用前对其进行排序。
- 字典的基本操作
基本:索引,添加元素,删除元素
- 索引:
print stuff['name']
- 添加元素:
stuff['city'] = "San Francisco" #添加元素不用指定位置,无序由此可见!
- 删除元素:
del stuff['city']
del stuff[1]
- 使用in运算可以测试某个内容是不是字典成员:
if "SCOX" in prices:
p = prices["SCOX"]
else:
p = 0.0
这个特殊步骤可以写为更加简洁的形式:
p = prices.get("SCOX", 0.0)
- 获得字典的关键字列表,将字典转换成列表即可:
syms = list(prices) # syms = [ "APPL","MSFT", "IBM", "GOOG"]
- 练习中本来没什么特殊的,但是,这个他居然把 _find 和 函数fing_city 关联起来了,而且可以通过索引的方式来调用函数!!!
# 这两种方式是完全等价的!!!
city_found = cities['_find'](cities, state)
city_found = find_city(cities, state)