技术 | Python从零开始系列连载(二十六)

导读

为了解答大家学习Python时遇到各种常见问题,小灯塔特地整理了一系列从零开始的入门到熟练的系列连载,每周五准时推出,欢迎大家学积极学习转载~

在前几期的Python数据结构与算法刷题模块,我们已经练习了很多Python实战题,今天就让我们一起进入下一部分的数据分析吧!Python的基础和进阶知识的连载欢迎到文末处查看往期精彩文章,也可以在菜单栏【Python连载】查看!

首先从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爱好者社区

文章编辑:小雨

原文发布于微信公众号 - 灯塔大数据(DTbigdata)

原文发表时间:2018-09-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java后端技术栈

Java性能优化之字符串优化处理

  String对象是Java中重要的数据类型,在大部分情况下我们都会用到String对象。其实在Java语言中,其设计者也对String做了大量的优化工作,这...

12230
来自专栏wym

18年暑假多校赛第一场 1002

http://acm.hdu.edu.cn/showproblem.php?pid=6299

9610
来自专栏章鱼的慢慢技术路

《算法图解》第二章笔记与课后练习_选择排序算法

17030
来自专栏黑泽君的专栏

Java培训实战教程之Java基础知识精华部分(一)(二)(三)

10220
来自专栏xingoo, 一个梦想做发明家的程序员

剑指OFFER之把数组排成最小的数(九度OJ1504)

题目描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排...

198100
来自专栏企鹅号快讯

如何写好python代码

写代码好比画画,好的代码就像一件艺术品,美观、可读性高,让人看着舒服。代码是写给人看的,不是写给机器看的,遵守一定的代码规范很重要,就像写作文需要总分总结构,这...

42170
来自专栏章鱼的慢慢技术路

《算法图解》第二章笔记与课后练习

202100
来自专栏Python小屋

Python使用marshal模块操作二进制文件

Python标准库marshal可以进行对象的序列化和反序列化。 >>> import marshal # 待序列化的对象 >>> x1 = 30 >>> x2...

30450
来自专栏老九学堂

初学C语言?先搞懂这些基础知识再谈深度学习吧!

编译程序: 如何把源程序转换成机器能够接受的目标程序,软件工作者编制了一系列的软件.通过这些软件,把用户按规定语法写出的语句一一翻译成二进制的机器指令. 这种具...

14620
来自专栏杨熹的专栏

Day 1-Java-imooc-2.变量常量

课程地址:http://www.imooc.com/learn/85 总结图片来自 http://www.imooc.com/article/10535 ? 本...

37550

扫码关注云+社区

领取腾讯云代金券