一. 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. Lintcode247 Segment Tree Query II solution 题解

    [题目描述] For an array, we can build a Segment Tree for it, each node stores an extra attribute count t ...

  2. IE浏览器URL中文传参,后端接收是乱码问题处理

    这个问题还是因为IE浏览器是国外产品,人家交流的主要语言是英语,中文不识别. 直接上代码,亲测无误. //判断是否是IE浏览器 function isIE() { var userAgent = na ...

  3. Vue2.0+Node.js+MongoDB全栈打造商城系统 免费下载

    <ignore_js_op> 课程目录||--第01章 课程介绍|    01-01 课程-导学.mp4|    01-02 前端框架回顾.mp4|    01-03 vue概况以及核心思 ...

  4. Redis 学习相关的网站

    Redis 命令参考 http://doc.redisfans.com/ https://redis.io/commands http://www.redis.net.cn Redis教程 http: ...

  5. Filecoin挖矿进展

      预计Filecoin第一个版本发布最早在 2018.3月份(预计)   Protocol Labs这次ICO拿到了2.05亿美元,已经富得流油了,相信开发进度会快很多,Filecoin论文发表最早 ...

  6. PHP面试和PHP开发者都应掌握的10个问题

    PHP面试和PHP开发者都应掌握的10个问题 问题 :1 MySQL里的存储引擎有什么不同,哪一个是默认的? 答案: 1 我们可以一下存储引擎: 1. MyISAM(MySQL的默认引擎. 每个MyI ...

  7. (jQuery知识点整理-含有选择器)

                                       第一单元                                       jQuery介绍:   javaScript ...

  8. centos7下更改docker镜像和容器的默认路径

    笔者近期在服务器上搭建docker环境,可由于笔者是普通用户,在安装的时候就跳了很多坑,现在记录一下. 一.docker权限问题 据官方解释,搭建docker环境必须使用root权限,或者sudo装, ...

  9. Redis 集群环境添加节点失败问题

    最近在给公司网管系统Redis集群环境添加节点时候遇到一个问题,提示新增的Node不为空: [root@node00 src]# ./redis-trib.rb add-node --slave -- ...

  10. Notes:一致性哈希算法

    业务场景: 存在三个专门提供缓存服务的服务器,前端所需要的图片等静态资源被缓存于这三个服务器其中之一. 但是如何提高查找图片的速度呢? 可以采用哈希算法. 常规意义上的哈希算法: 通过hash(图片名 ...