Python 处理 Dictionary 资料
什么是 Dictionary?
什么是 Dictionary 呢?想了解 Dictionary 之前,可以先想像你现在手上有一本电子英英字典,当你输入英文单字的时候,就可以查得到它的唯一翻译。也就是说,你所关心的 英文单字 与 翻译 之间有著 一对一 的关系。你输入的英文单字,就叫做 Key ;而得到的翻译,就叫做 Value 。一个 Dictionary 是一群 Key : Value 配对的集合。
建立一个 Dictionary 物件
建立一个 Dictionary 物件其实很简单,让我们先看个例子:
d = {'python': 'Large constricting snakes.', 'ruby': 'A precious stone that is a red corundum.'}
当 Python 直译器执行这段程式后,Dictionary 物件就生成了。'python'
这个字串,在上例中即扮演 Key 的角色,而 'Large constricting snakes.'
这个字串,则扮演 Value 的角色。而 Key : Value 之间以冒号 : 间隔之,如果有好几对 Key : Value,则以逗号 ,
间隔之。
当我们使用 []
这个运算子的时候,我们就可以拿到它的 Value 了
print d['python']
则会印出
Large constricting snakes.
取得 Dictionary 物件中 Key 的个数
有的时候会想要知道 Dictionary 物件中,到底有几对 Key, Value ,就如同取得字串的长度般,只要使用 len(d)
即可得到之。
print len(d)
则会印出
2
新增或修改一笔资料
假设我们有新的单字出现了,想要新增到刚才的 Dictionary 物件中,该如何做呢? 同样地,也是使用 []
这个运算子,这次还要配合上 =
这个运算子。
d['game'] = 'Activity engaged in for diversion or amusement.'
print d
则会印出
{'python': 'Large constricting snakes.', 'game': 'Activity engaged in for diver
ion or amusement.', 'ruby': 'A precious stone that is a red corundum.'}
我们可以发现, d
这个物件中的确新增了一笔资料。
又假设我们想要修改某个单字的翻译,也是用样使用 []
这个运算子并要配合上 =
这个运算子:
d['python'] = 'A very powerful scripting language.'
print d
则会印出
{'python': 'A very powerful scripting language.', 'game': 'Activity engaged in for diver
ion or amusement.', 'ruby': 'A precious stone that is a red corundum.'}
我们可以发现, 原来的 python
这个单字所对应到的翻译已经被改变了。
删除一笔资料
假设我们现在要移除一个单字及其翻译,我们可以利用 del
来达成这个目的。
del d['game']
print d
则会印出
{'python': 'A very powerful scripting language.', 'ruby': 'A precious stone that is a red corundum.'}
如此一来,'game'
这笔资料就被你删除了。
试试看
- 假使你输入
print d['never_seen']
其中,'never_seen'
并不在 Dictionary 之中,会发生什么事呢? - 试输入
print 'python' in d print 'never_seen' in d
并观察他们的不同之处。
下一步...
我们已经学会如何使用 Dictionary 来建立物件之间的一对一关系了,下一节将介绍如何使用 if
来做有条件地执行某些程式。