Python内置数据类型详解

yipeiwu_com5年前Python基础

通常来说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程序设计会有很大的帮助。

相关文章

python3调用百度翻译API实现实时翻译

今天需要做一个翻译的工具,找到之前写过的有道翻译,已经不能用了,最后看到百度翻译还不错,不过官方版本是Python2,我需要Python3,就自己写了一个: # coding: ut...

Python实现读取txt文件并画三维图简单代码示例

记忆力差的孩子得勤做笔记! 刚接触python,最近又需要画一个三维图,然后就找了一大堆资料,看的人头昏脑胀的,今天终于解决了!好了,废话不多说,直接上代码! #由三个一维坐标画三维...

python matplotlib库绘制散点图例题解析

python matplotlib库绘制散点图例题解析

假设通过爬虫你获取到了北京2016年3,10月份每天白天的最高气温(分别位于列表a,b),那么此时如何寻找出气温随时间(天)变化的某种规律? a = [11,17,16,11,12,11...

Python中单线程、多线程和多进程的效率对比实验实例

python的多进程性能要明显优于多线程,因为cpython的GIL对性能做了约束。 Python是运行在解释器中的语言,查找资料知道,python中有一个全局锁(GIL),在使用多进程...

K-means聚类算法介绍与利用python实现的代码示例

K-means聚类算法介绍与利用python实现的代码示例

聚类 今天说K-means聚类算法,但是必须要先理解聚类和分类的区别,很多业务人员在日常分析时候不是很严谨,混为一谈,其实二者有本质的区别。 分类其实是从特定的数据中挖掘模式,作出判断的...