一、元组tuple

特性

1、有序集合

2、通过偏移来取数据

3、不可变对象,不能在原地修改内存,没有排序、修改等操作

元组不可变的好处:保证数据的安全,比如我们传给一个不熟悉的方法,确保不会改变我们的数据从而导致程序问题。

二、集合:集合是没有顺序的概念,所以不能用切片和索引操作

1、创建集合:可变的set()、不可变的frozenset()

2、添加操作 add(随机插入) update(拆分插入)

3、删除 remove

4、成员关系 in、not in

5、交集(&)、并集(|)、差集(-)

例如: a = set('abcd')

    b = set('bcdef')

交集:都出现的  a & b-->set(['b','c','d'])

并集:重复出现的,只取一个 a | b -->set(['a','b','c','d','e','f'])

差集:在集合a出现的,但没在b里面出现的元素 a - b-->set(['a'])

6、set去重(列表内容元素重复)

例如:a = [1,2,3,1,3]

   set(a) -->set([1,2,3])

   集合转列表:list(set(a))-->[1,2,3]

三、字典

特点

1、无序的

2、不能用过偏移来存取,只能通过键来存取

3、可嵌套,方便我们组织多种数据结构

4、属于可变类型,支持原地修改内部的内容(与list一样)

字典 = {'key' : value}

key:类似我们现实的钥匙,而value则是锁,一个钥匙开一把锁,组成字典的键必须是不可变的数据类型,比如数字,字符串,元组等。

info = {'a' : 1,'b' : 2}

info['a']-->1

1.定义方法:a = {'name':'niuniu',age':20}

2.内置方法:b = dict(name = 'niuniu',age = 22)

3.update参数是一个字典的类型,它会覆盖相同键的值,不相同的话,随机插入

info = {'city':'beijing','phone':'htc'}

info.update({'city':'tianjin'})

print info-->{'city':'tianjin','phone':'htc'}

4.删除 del、clear、pop

del info['phone'] 删除某个元素

del info 删除引用

info.clear()删除字典的全部元素

info.pop('name')返回键名对应的值(list也有pop方法 n = ['22','33'] n.pop(0) 传入的是下标,返回的是值,不传下标 默认最后一位)

info.pop('333','ha')如果没有找到对应的键 可以返回预先设定的值

5.成员关系操作 in、has_key()后者是字典专有方法

info.has_key('aa')返回true或false

keys()返回的列表,里面都是字典的所有键

values()返回的列表,里面都是字典的所有值

items()生成一个字典的容器是元组[('age',20),('name','niuniu')]

get有返回值

info.get('name')

b = info.get('2')如果没找到返回一个类型 nonetype类型

c = info.get('2','bcd')可以预设返回值

python自学笔记(四)python基本数据类型之元组、集合、字典的更多相关文章

  1. Python学习笔记(四)Python函数的参数

    Python的函数除了正常使用的必选参数外,还可以使用默认参数.可变参数和关键字参数. 默认参数 基本使用 默认参数就是可以给特定的参数设置一个默认值,调用函数时,有默认值得参数可以不进行赋值,如: ...

  2. python自学笔记

    python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...

  3. python自学笔记(二)python基本数据类型之字符串处理

    一.数据类型的组成分3部分:身份.类型.值 身份:id方法来看它的唯一标识符,内存地址靠这个查看 类型:type方法查看 值:数据项 二.常用基本数据类型 int 整型 boolean 布尔型 str ...

  4. python自学笔记(一)

    我没学过python,通过网上和一些图书资料,自学并且记下笔记. 很多细节留作以后自己做项目时再研究,这样能更高效一些. python基础自学笔记 一.基本输入和输出 pthon3.0用input提示 ...

  5. Python学习笔记(三)数据类型

    在内存中存储的数据可以有多种类型,在Python中,能够直接处理的数据类型有以下几种: 数字(Numbers) 字符串(String) 列表(List) 元组(Tuple) 字典(Dictionary ...

  6. python自学笔记(一)简单了解python

    脚本解释型语言的内部机制 python先将脚本编译成字节码文件(pyc,pyo) python虚拟机解释并运行字节码文件 编译型语言的内部机制 先将源代码编译成机器码(机器能读懂的代码),生成可执行文 ...

  7. 如何深入系统的学习一门编程语言——python自学笔记

    前言 最早接触python的时候,他并没有现在这么火,我也没把他太当回事,那时候我对python的印象就是给运维人员使用的一门很古老的语言,显然随着tensorflow(以下简称tf)的兴起,pyth ...

  8. Python学习笔记(二)——数据类型

    1.数据类型 Python有五个标准的数据类型: Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) 2.Python数字类型 Pyth ...

  9. python学习笔记(二)— 数据类型

    一.变量.数据类型 1.计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同 ...

  10. Python 自学笔记(一)环境搭建

    一,关于Python的介绍 关于Python的介绍,我不想多说了,网上随便一搜,很多介绍,这里我主要写下我的自学Python的 过程,也是为了促进我能继续学习下去. 二,环境搭建 1,这里我只讲解Wi ...

随机推荐

  1. 整理Linux查看系统日志的一些经常使用命令

    整理Linux查看系统日志的一些经常使用命令 last -a 把从何处登入系统的主机名称或ip地址,显示在最后一行. -d 指定记录文件.指定记录文件.将IP地址转换成主机名称. -f <记录文 ...

  2. .net网站开发(前端):4.MVC HtmlHelper

    通过前面三节,已经大概理解MVC是怎样运作的了.MVC的一个特点就是可以很方便地控制视图效果,数据交互也很灵活.先讲一下视图控制的,HtmlHelper,看到Help就知道它是不知疲惫的好人啦(有点像 ...

  3. 今天,Java编程周末提高班(第一期)正式结束

    Java编程周末提高班(第一期),走过了近两个月历程,一共同拥有68人次学生周末到老师家进行Java学习与交流.近距离的和一群年轻的学习接触,收获非常多,特别是对以后教学的改进.在学习的闲暇.大家自己 ...

  4. js apply 和call的区别

    function Person(name, profession) { this.name = name; this.profession = profession; this.speak = fun ...

  5. 【Java并发编程】并发编程大合集-值得收藏

    http://blog.csdn.net/ns_code/article/details/17539599这个博主的关于java并发编程系列很不错,值得收藏. 为了方便各位网友学习以及方便自己复习之用 ...

  6. su Authentication failure解决

    su Authentication failure解决 关于Ubuntu桌面系统su root时认证失败的问题 1. Ubuntu 默认没有给root用户设置密码,当我们su root命令时, 提示认 ...

  7. 【转】SQL Server 2008 新类型介绍之Date和Time

     转自CSDN TJVictor专栏:http://blog.csdn.net/tjvictor/archive/2009/07/13/4344429.aspx   SQL Server 2008除了 ...

  8. 原生js封装table表格操作,获取任意行列td,任意单行单列方法

    V1.001更新增加findTable-min.js 本次更新,优化了代码性能方面,增加了部分新功能,可以获取多个table表格批量操作. 考虑到本人后面的项目中可能涉及到大量的表格操作,提前先封了 ...

  9. ROS验证publisher和subscriber

    在前面的两篇博客中我们用C++在ROS中创建了一个发布者和接收者,并使用catkin_make构建了新的节点,下面就需要验证一下,我们写的是否正确. 首先运行roscore roscore 在使用ca ...

  10. grunt打包过程中的注意点

    1.安装nodeJS   nodeJS下载地址: http://www.nodejs.org/download/ 2.   在Node.js command prompt 这个控制面板输入 npm i ...