字典实战——示例:电影数据库

未匹配的标注

让我们看一个更现实的字典示例。为纪念Python的同名者,下面例子创建了一个简单的内存中的 Monty Python 电影数据库,作为一个将电影发行时期years(键)映射到电影名称(值)的表。在编码过程中,可以通过对发布年份字符串进行索引来获取电影名称:

>>> table = {'1975': 'Holy Grail', # Key: Value
... '1979': 'Life of Brian',
... '1983': 'The Meaning of Life'}
>>>
>>> year = '1983'
>>> movie = table[year] # dictionary[Key] => Value
>>> movie
'The Meaning of Life'
>>> for year in table: # Same as: for year in table.keys()
... print(year + '\t' + table[year])
...
1979 Life of Brian
1975 Holy Grail
1983 The Meaning of Life

最后一个命令使用了 for循环,在第4章中预览过了但还没有详细讨论。如果不熟悉for循环,这个命令只是简单地迭代了表中的每个键然后打印出键和值的以tab分隔的列表。将在第13章中学习关于更多for循环的知识。

字典不是像列表和字符串的序列,但如果需要迭代字典中的项目,很简单——调用返回所有存储的键(可以使用 for 来迭代它们)的 字典的keys方法。如果需要,在迭代键的同时可以在for循环内部从键索引到值,如同代码中所示。

事实上,Python还让你迭代字典的键列表而无需在大多数for循环中真正调用 keys 方法。对任何字典D,for key in D和完整的for key in D.keys()是一样的。这其实只是前面提到的迭代器的另一个实例,它允许in成员操作符也对字典起作用;更多关于迭代器的知识请参阅本书稍后部分。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 查看所有版本


暂无话题~