Py学习  »  Python

从零开始学 Python——数据类型及结构

中国统计网 • 6 年前 • 640 次点击  


一直想静下心来、花点时间学习Python3这门火爆的高级语言,但总是事与愿违,故只能挤点时间,做到每天进步一点点。从今天开始我把积累的点滴知识与大家做个分享,也欢迎感兴趣的朋友指教与提议。


首先从Python的基础数据类型和数据结构说起,数据类型主要包含三种,分别是数值型、字符型和日期时间型;数据结构主要包含列表、元组和字典。


数据类型



由于日期型和日期时间型比较特殊,我们来单独看一下。一般拿到日期型数据时基本都是字符串表示的,如 '2017-04-24' 和 '2017/04/24 22:09:48' 。该如何将其转换为日期型和日期时间型呢?这里借助datetime模块中的子例程datetime就可以轻松搞定。例如:



第一个红框表示的是导入datetime模块;


第二个红框表示使用datetime模块下的子模块datetime函数strptime完成字符串到日期时间型的转换,但奇怪的是,原始数据为日期型的字符串,但转换后成了日期时间型,单后面多了表示时间的部分00:00:00;


第三个红框:如果你不想保留日期后面的时间部分00:00:00,只需在末尾加上date()方法。


数据类型转换



第一个红框:如果你需要将字符串型的小数转化为整数,必须先将字符串转化为浮点型,然后才可以转化为整数,否则将会报错。



第一个红框:虽然数值12转化为字符串时,打印出来却没有双引号,但通过type函数反馈的数据类型确实是字符串型。


数据结构


列表:是一个可变型的序列,之所以说可变,是因为可以对列表数据类型可以进行增、删、改的操作,而不可变对象则没有这三种操作。


创建一个列表









append方法每次只能在末尾填入一个元素;


extend方法每次在末尾插入多个元;


insert方法可在指定的位置插入一个元素;





pop方法在不指定参数时默认删除末尾元素,也可以指定删除某个位置的元素;


remove方法删除指定的元素值;


clear方法清空列表元素;


del函数删除列表对象;





改,说白了就是通过索引的方式将旧值换成新值


其他列表方法



copy方法复制一个物理对象,而非视图对象;


count方法计数;


index方法返回索引位置;


reverse方法实现元素颠倒;


sort方法排序;


创建一个元组


元组是不可变的序列,故其没有增、删、改的权限。只能进行查询(索引和切片)和一些简单的其他方法。





其他元组方法


由于元组没有copy方法,但如果你就是想复制一个物理对象给新的变量,可以考虑使用copy模块的copy方法。


字典


字典的创建就不是通过上面的中括号[]和圆括号()方法构建了,而是通过花括号{}或dict函数来构造键-值对。



第一个字典通过花括号构建;


第二个字典通过dict函数构建;


第三个构造了一个嵌套的字典;


由于字典也是一个可变对象,故其也有增、删、改的操作,具体如下:



所以,setdefault方法既可以实现查的功能,又可以完成添加键值对的功能。




第一个红框通过索引的方式增加键值对;


第二个红框通过setdefault方法增加键值对;


第三个红框通过update方法增加键值对;




pop方法对指定的键进行删除;


popitem方法每次删除末尾的一个键值对;




字典中更新键对应的值,既可以使用索引的方式,也可以使用update方法,但update方法中的参数一定是一个字典。如果该字典的键在dict3中存在,则操作改的动作,否则完成增加键值对的使命。


其他字典方法



这里需要注意的是,必须使用list函数套在items、keys、values等方法外面,否则不会产生列表结果,而是一个迭代器。


今天我们的内容就介绍到这边,欢迎大家拍砖。下期我们来聊聊Python数值和字符串函数。


End.

作者:刘顺祥(中国统计网特邀认证作者)


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/BR2KEyslMQ
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/2300
 
640 次点击