第十一课 元组与字典
欢迎回来。上一期的如何学python里,我们讨论了函数。我们今天将要学习的是两种类似于列表(list)类型的数据类型。我们先介绍’元组’(tuple),然后是’字典‘ (dictionary)。如果你还记得我们曾经讲过的列表类型,那么今天的内容对你来说应该挺简单的。如果你不记得了,请回去看看第七课。
元组
我们可以简单的把元组理解为不能被改变的列表类型。如果你去看别人写的文档,你会发现元组被描述为‘不可改变’(immutable)。
如果你还有印象,应该能记得列表类型里的值(们)是被方括号括起来的。而元组的值(们)则是被圆括号括起来的。下面我们来分别创建一个列表和一个元组。他们会有相同的值,以便于比较。
创建元组
首先来创建元组:
然后来创建列表:
创建完成了。他们拥有相同的值,但是我们无法修改元组里的值。
原文里试图用append方法来说明元组的值无法被改变。我觉得这不太严谨,因为不同类型的变量,拥有的方法(method)不尽相同,所以原文的实验并不准确。我这里用了直接赋值的方式演示。
字典
字典是一系列成对的关键字与值。想想日常生活中的词典,不也是字(词)与他们的释义么?
我们可以用字典做很多事情,比如以规范化的格式存储用户的输入,或者把存在字典里的值方便的输出到文本文档里。今天我们先试着构建一个简单的字典,然后了解几个字典类型的方法。
创建字典
我们来创建拥有两个词的字典如下:
一个词是Bidu,另一个是Gogle。相信通过这个例子大家很容易就明白了字典是怎么一回事儿。前面的bidu和gogle就是字典的关键字,冒号后面的则是关键字对应的值。多个‘关键字-值’之间,用英文逗号分隔。
接下来我们看三个字典对应的方法:
· .keys()
· .values()
· .items()
Keys():显示字典里的所有关键字。
Values()显示所有的值:(由于是中文所以被编码了,这里显示的是编码之后的状态)
Items()显示所有的关键字和他们的值(同时显示)。值得注意的是,字典类型本身虽然会返回一个列表类型(如果你不是太懂,看括号就行,方括号就是list,圆括号就是tuple元组),但是字典里的键值对(关键字-值)却以元组的形式存在。
小结
今天我们介绍了元组和字典。其实关于这两个东西好多可以学,但是现在的这些知识可以增加我们阅读别人代码的能力。字典是个非常有用的东西,我们稍后会对他们俩进行更多的介绍。