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实现斐波那契递归函数的方法
Sep 08 Python
python入门之语句(if语句、while语句、for语句)
Jan 19 Python
python实现的简单RPG游戏流程实例
Jun 28 Python
详解Python Socket网络编程
Jan 05 Python
python thrift搭建服务端和客户端测试程序
Jan 17 Python
Python实现读取Properties配置文件的方法
Mar 29 Python
对tf.reduce_sum tensorflow维度上的操作详解
Jul 26 Python
详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件
Aug 23 Python
pytorch之ImageFolder使用详解
Jan 06 Python
python实现FTP循环上传文件
Mar 20 Python
Python 炫技操作之合并字典的七种方法
Apr 10 Python
如何利用Python写个坦克大战
Nov 18 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
解析php下载远程图片函数 可伪造来路
2013/06/25 PHP
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
php session 写入数据库
2016/02/13 PHP
PHP异常类及异常处理操作实例详解
2018/12/19 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
2019/05/27 PHP
用javascript控制iframe滚动的代码
2007/04/10 Javascript
基于jQuery实现模拟页面加载进度条
2013/04/01 Javascript
动态改变div的z-index属性的简单实例
2013/08/08 Javascript
jquery+ajax+C#实现无刷新操作数据库数据的简单实例
2014/02/08 Javascript
jquery基础教程之数组使用详解
2014/03/10 Javascript
jquery实现仿新浪微博带动画效果弹出层代码(可关闭、可拖动)
2015/10/12 Javascript
JS组件Bootstrap ContextMenu右键菜单使用方法
2016/04/17 Javascript
详解JavaScript数组过滤相同元素的5种方法
2017/05/23 Javascript
nodejs多版本管理总结
2018/04/03 NodeJs
Vue + better-scroll 实现移动端字母索引导航功能
2018/05/07 Javascript
浅谈在node.js进入文件目录的问题
2018/05/13 Javascript
nodejs 十六进制字符串型数据与btye型数据相互转换
2018/07/30 NodeJs
vue router动态路由设置参数可选问题
2019/08/21 Javascript
使用React-Router实现前端路由鉴权的示例代码
2020/07/26 Javascript
[04:07]显微镜下的DOTA2第八期——英雄复活动作
2014/06/24 DOTA
Python使用Pycrypto库进行RSA加密的方法详解
2016/06/06 Python
python 读取txt,json和hdf5文件的实例
2018/06/05 Python
Python理解递归的方法总结
2019/01/28 Python
Python实现word2Vec model过程解析
2019/12/16 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
解决python执行较大excel文件openpyxl慢问题
2020/05/15 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
Django后端按照日期查询的方法教程
2021/02/28 Python
保密承诺书范文
2014/03/27 职场文书
机械系毕业生求职信
2014/05/28 职场文书
大学生求职信
2014/06/17 职场文书
个人授权委托书格式
2014/08/30 职场文书
研究生就业推荐表导师评语
2014/12/31 职场文书
2015年监理个人工作总结
2015/05/23 职场文书
python和anaconda的区别
2022/05/06 Python