Python内置数据类型详解


Posted in Python onAugust 18, 2014

通常来说Python在编程语言中的定位为脚本语言——scripting language 高阶动态编程语言。

Python是以数据为主,变量的值改变是指变量去指到一个地址。
即:Id(变量)->展示变量的地址。
因此一个具体的值,会有不同的变量名。

Python的数据类型:

数字、字符串、列表、元组、字典
数字和字符串其实是很基本的数据类型,在Python中和其他语言相差不是很大的,在这里就不细讲了。

Dictionary介绍:

Dictionary是Python的内置数据类型之一,它定义了键和值之间的一对一关系。
其实就是通常所说的哈希数组。
Dictionary的简单定义:Dic={'Key1':'Value1','Key2':'Value2'}
Dictionary中不能有重复的Key,给同一个Key赋值会覆盖掉原来的值。
任何时候都可以在Dictionary中添加Key-Value的值对。
在Dictionary中是没有元素顺序的说法的!因为是通过Key再找Value的,没有顺序之分。
在Dictionary中,Key的大小写是敏感的!
Dictionary不只是用来存储字符串,Dictionary的值可以使任意的数据类型,包括Dictionary本身。同时,在单个的Dictionary中,Dictionary的值也并不需要全部都是同一数据类型,可以混用和匹配。Dictionary的Key的数据类型会有相对的要求,不过也是可以多种数据类型混用和匹配的。
Del可以使用一个Key将Dictionary中的对应元素删除。>>>del dic[12]
Clear()可以将一个Dictionary中的所有值删掉,但原Dictionary还在,只是变成了空{}.>>>dic.clear()

List介绍:

List是Python中用的最频繁的数据类型。
List中的数据类型可以使任意的,同时是支持动态扩张的。
List的简单定义:Lis=['a','b','abc','asd']。List是一个用方括号包括起来的有序元素的集合。
List支持正负两种索引模式:正索引是一般的情况,从0开始。
负索引是从List的尾部开始计数。任何一个非空的List的最后一个原始总是List[-1]。
List支持分片,既是从List的中间取数据。需要注意的是,Slice的起始位置。
向List中添加数据:Lis.Append('New')向List的末尾添加数据;
Lis.insert(2,'New')在List的2的位置插入值;
Lis.extend(['New','Nwe'])在原有的List中链接新的List(在末尾)。

Append()和Extend()的区别:

①.Append()的参数可以是任何的数据类型,当然也可以是一个List,但是它是将怎么List当作一个元素,添加进原来的List。
②.Extend()的参数只可以是一个List,同时是将整个List的所有元素,逐个添加进原来的List。
③.在List中搜索:Lis.index('a')
④.index在List中查找一个值,并返回其首次出现的索引值。如果出现了多次,只返回第一次的索引值;如果不在List中,则会返回一个异常。
⑤.测试一个值是否在List中,使用In:>>>'c' in lis 返回的值是False。

在List中删除元素:

①.Lis.remove('a')从List中删除一个值的首次出现(并不是所有)。
②.Lis.pop() pop()会做两件事情:删除List的最后一个元素,同时返回这个被删除的元素。
③.List可以用+运算符链接起来。List=List+otherList相当于list.extend(otherList)。但是+运算符是把一个新的list(链接后)作为返回值,而extend()只修改存在的List。所以对于大型的List来说,Extend()的执行速度要快一些。
④.List支持+=运算符。
⑤.List中的*运算符可以作为一个重复器作用于List。Lis=[1,2]*3等同于lis=[1,2]+[1,2]+[1,2]。即是将三个List链接成一个。

Tuple介绍:

Tuple是一个不可变的List。一旦创建Tuple,就不能以任何方式改变它。
Tuple的简单定义:Tup=('a','b','abc','asd')整个元素集用小括号包围。
因为Tuple是不可变的,所以它没有方法,不能添加和删除元素。有和List一样的索引,可以同样的方法分片。当分割一个List时,会得到一个新的List;分割一个Tuple时,会得到一个新的Tuple。
Tuple同样可以使用in的方式来查看一个元素是否存在于Tuple中。

Tuple可以看成是一类特殊的List,它存在的好处:

①.Tuple比List的操作速度快。定义一个常量集,只需要用Tuple来存储,你对它唯一的操作就是不断地遍历它。
②.Tuple可以看成是对不需要更改的数据进行了“写保护”。可以使代码更加安全。
③.Tuple在Dictionary中是可以作为Key的,而List是不可以的!因为Dictionary中的key必须是不可变的。
④.Tuple是可以转换成List的。内置的tuple函数可以接收一个List,返回一个有着相同元素的Tupelo;而List函数接收一个Tuple返回一个List。

深入理解本文所述的Python内置数据类型对于熟练掌握Python程序设计会有很大的帮助。

Python 相关文章推荐
收集的几个Python小技巧分享
Nov 22 Python
Python随机生成带特殊字符的密码
Mar 02 Python
Python实现读取机器硬件信息的方法示例
Jun 09 Python
Python3非对称加密算法RSA实例详解
Dec 06 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
Dec 24 Python
Python 实现子类获取父类的类成员方法
Jan 11 Python
python使用百度文字识别功能方法详解
Jul 23 Python
Python实现微信翻译机器人的方法
Aug 13 Python
自适应线性神经网络Adaline的python实现详解
Sep 30 Python
python thrift 实现 单端口多服务的过程
Jun 08 Python
tensorflow与numpy的版本兼容性问题的解决
Jan 08 Python
python文本处理的方案(结巴分词并去除符号)
May 26 Python
Python3基础之输入和输出实例分析
Aug 18 #Python
一个计算身份证号码校验位的Python小程序
Aug 15 #Python
基于Python的身份证号码自动生成程序
Aug 15 #Python
Python异常处理总结
Aug 15 #Python
python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
Aug 15 #Python
Python3基础之函数用法
Aug 13 #Python
Python3基础之条件与循环控制实例解析
Aug 13 #Python
You might like
Apache下禁止php文件被直接访问的解决方案
2013/04/25 PHP
phpExcel中文帮助手册之常用功能指南
2014/08/18 PHP
Codeigniter框架实现获取分页数据和总条数的方法
2014/12/05 PHP
再谈javascript 动态添加样式规则 W3C校检
2009/12/25 Javascript
Javascript匿名函数的一种应用 代码封装
2010/06/27 Javascript
js网页侧边随页面滚动广告效果实现
2011/04/14 Javascript
js查找节点的方法小结
2015/01/13 Javascript
jQuery form插件的使用之处理server返回的JSON, XML,HTML数据
2016/01/26 Javascript
Bootstrap基本组件学习笔记之列表组(11)
2016/12/07 Javascript
浅谈JS验证表单文本域输入空格的问题
2017/02/14 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
2017/05/17 Javascript
利用canvas实现的加载动画效果实例代码
2017/07/05 Javascript
js匿名函数使用&传参(实例)
2017/09/08 Javascript
Node.js中console.log()输出彩色字体的方法示例
2019/12/01 Javascript
vue中是怎样监听数组变化的
2020/10/24 Javascript
[01:04:48]VGJ.S vs TNC Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
[48:12]Secret vs Optic Supermajor 胜者组 BO3 第三场 6.4
2018/06/05 DOTA
[37:02]OG vs INfamous 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python实现apahce网站日志分析示例
2014/04/02 Python
Python使用自带的ConfigParser模块读写ini配置文件
2016/06/26 Python
Python 正则表达式的高级用法
2016/12/04 Python
好的Python培训机构应该具备哪些条件
2018/05/23 Python
Python3爬虫学习之应对网站反爬虫机制的方法分析
2018/12/12 Python
Python实现socket非阻塞通讯功能示例
2019/11/06 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
2020/02/10 Python
Selenium使用Chrome模拟手机浏览器方法解析
2020/04/10 Python
GAP阿联酋官网:GAP UAE
2017/11/30 全球购物
无畏的旅行:Intrepid Travel
2017/12/20 全球购物
英国Radley包德国官网:Radley London德国
2019/11/18 全球购物
市场营销个人求职信范文
2014/02/02 职场文书
餐饮商业计划书范文
2014/04/29 职场文书
厕所文明标语
2014/06/11 职场文书
2014年大学生党员评议表自我评价
2014/09/20 职场文书
考研英语复习计划
2015/01/19 职场文书
解决jupyter notebook启动后没有token的坑
2021/04/24 Python
浅谈Python数学建模之数据导入
2021/06/23 Python