一. 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)属于序列的核心数据类型有:字符串,列表,元组

Python基础学习篇章四的更多相关文章

  1. Python基础学习(四)

    菜鸟咀嚼python基础之继续. 一.返回函数 第三章已经简单操作了Python的高阶函数,目前继续练手函数作为返回值的特效:通常,高阶函数除了可以接收函数作为参数外,还可以把函数作为结果值返回. 案 ...

  2. python基础学习(四)if判断语句

    if判断语句的基本语法 在python中,if判断的格式如下: if 条件: 条件成立时,执行的语句 ...... 注意:代码的缩进要使用一个tab键或者四个空格(建议使用四个空格,tab和空格最好不 ...

  3. python基础学习篇章一

    一. 对Python的认识 1. Python的标准实现方式是将源代码的语句编译为字节码的形式,之后再将字节码解释出来.由于字节码是一种与平台无关的形式,字节码具有可移植性.但是Python没有将代码 ...

  4. Python基础学习篇章二

    一. Python如何运行程序 1. 在交互模式下编写代码 最简单的运行Python程序的方法是在Python交互命令行中输入程序.当然有很多方法可以开始这样的命令行,比如IDE,系统终端.如果你已经 ...

  5. Python基础学习篇章三

    一. Python对象类型 1. 对象是Python最基本的概念,一个Python程序可以分解为模块.语句.表达式.和对象.它们的关系如下:(1)程序由模块构成 (2)模块包含语句 (3)语句包含表达 ...

  6. Python基础学习总结(四)

    6.高阶特性 6.1迭代 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration).在Python中,迭代是通过for ... ...

  7. python基础学习第四天

    #字符串到数字 可以进行各种进制转换#print(int('11111',8)) #需求 对字符串中的单词翻转 保留空格#第一种方法 最笨clstr='I love you!'bam=clstr.sp ...

  8. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  9. Python基础学习四

    Python基础学习四 1.内置函数 help()函数:用于查看内置函数的用途. help(abs) isinstance()函数:用于判断变量类型. isinstance(x,(int,float) ...

随机推荐

  1. asp.net core 发布centos 7 遇到的坑

    只是简单记录 .net core 在linux 的安装部署步骤,大神可以忽略 虚拟机:VMware Workstation Pro Linux 版本:http://mirrors.aliyun.com ...

  2. 如何提高windows的性能

    默认windows启用了很多的效果,我们可能平时没有注意到,比如什么淡入淡出效果之类的,其实在我看来,这些效果不仅难看,而且影响了windows的性能,下面我就来说说怎么通过关闭这些效果来提高wind ...

  3. 使用uiautomation自动化重命名pdf书签,使全大写字母变成首字母大写

    今天下载了一个英文pdf书籍,但书签全是大写英文字母,看上去有点别扭,于是想办法用自动化重命名pdf书签, 使书签全部变成首字母大写. pdf原始书签如下图: 重命名后的pdf书签 自动化动态效果图, ...

  4. 共享MFC自绘Listctrl代码

    在别人代码基础上修改的ListCtrl,支持设置行高,header高度,header背景图,奇偶行不同背景色, 支持设置某列为Checkbox,Edit,Combobox, 支持自定义排序. 效果图如 ...

  5. 数据库入门之运行原始 SQL 查找

    数据库入门之运行原始 SQL 查找 一旦你设置好了数据库连接,就可以使用 DB facade 来进行查找.DB facade 提供每个类型的查找方法:select.update.insert.dele ...

  6. vuex入门

    安装&使用 npm install vuex --save 1 通过Vue.use()来使用: import Vue from 'vue' import Vuex from 'vuex' Vu ...

  7. [JLOI2014] 松鼠的新家

    Description 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在"树&q ...

  8. 笔记:Maven 仓库和插件配置本机私服

    通过配置POM中的配置仓库和插件仓库,只在当前项目生效,而实际应用中,我们希望通过一次配置就能让本机所有的Maven项目都使用自己的Maven私服,这个时候我们需要配置 settings.xml文件, ...

  9. c++编码及读写文件

    写文件 #include <fstream> #include <iostream> using namespace std; int main() { ofstream ou ...

  10. Java8 中 ConcurrentHashMap工作原理的要点分析

    简介: 本文主要介绍Java8中的并发容器ConcurrentHashMap的工作原理,和其它文章不同的是,本文重点分析了不同线程的各类并发操作如get,put,remove之间是如何同步的,以及这些 ...