Python基础学习篇章四
一. Python数据类型之字典
1. 键的排序:for循环
由于字典不是序列,因此没有可靠的从左至右的顺序。这就导致当建立一个字典,将它打印出来,它的键也许会以与我们输入时的不同的顺序出现。有时候我们确实要强调顺序的时候,可以进行这样的操作:可以通过字典的keys方法收集键的列表,然后使用列表的sort方法,对键进行排序,再使用Python的for循环逐个显示结果。
另外还有一种简单操作,就是在新版本的Python中使用sorted()内置函数可以一步完成:
Python中的一个主要的原则是,首先为了简单和可读性去编写代码,在程序运行之后,并证明了确实有必要考虑性能后,再考虑该问题。
2. 不存在的键:if 测试
虽然可以通过给新的键赋值来扩展字典,但是当获取一个不存在的键值时,会报错。怎么避免这种情况呢?当我们不知道要获取的键值是否存在时,可以通过if先判断一下,具体操作如下:
上面用到了has_key()方法和if... else...的简单用法。
3. 元组
元组对象就像一个不可改变的列表。元素是序列,具有不可变性。元组一旦创建后就不能再改变:
这里当改变元组的第一个元素时报错了,说明元组是不可变的。
4. 文件
文件对象是Python代码对电脑上外部文件的主要接口。但是它没有特定的常量语法创建文件。可以调用内置open()函数创建一个文件对象,open()函数有两个参数,参数一是表示要创建或打开的文件名(可以包含路径),参数二是表示处理模式的字符(比如‘w’表示写数据):
上面就实现了简单的创建data.txt文件,向该文件写入内容,再读取文件中的内容的过程。下面是关于文件对象的所有的操作方法:
5. 其他数据类型
集合,是通过调用内置set()函数而创建的对象的容器,支持一般的数学集合的操作:交集,并集,差集
总结一下:
(1)具有不可变性的核心数据类型有:数字,字符串,元组
(2)属于序列的核心数据类型有:字符串,列表,元组
(3)具有可变性的数据类型有:列表,字典(字典不属于序列)