python3入门与进阶笔记_Python3 量化分析笔记小白到破产-列表进阶 切片组合

文:蓝兔子读难NOTES

图: 配图 来源于网络

Python3 量化分析从小白到破产笔记

列表的进阶 切片与组合

编码:0009

最前面先放个简易目录,理清思绪好上路。

python基础:编程环境准备

函数:定义、调用、传参~

当前=>高级特性:切片、迭代~

文件读写:打开、保存~

异常处理:~

常用内置函数汇总:~

常用内置模块:os、datetime~

python 包:numpy、pandas~

数据获取:

tushare(直接获取交易数据)

处理和分析数据:Numpy(数组、矩阵)

Pandas(表格、excel)

Scipy(数理统计)

可视化:Matplotlib(画图)

seaborn(画图)

在前面的内容中,我们说人人都爱列表,老板也动不动就让你列个表。我们讲了如何列出一个表,如何对表中的元素进行:增、删、改等操作。这篇文章的内容,我们将进行更高阶一点的操作。

在python中,我们除了列表,还有5种别的这种内置的序列类型的数据,他们包括「元组」和「字符串」,别的几种我们很少用到,这里就不提出来了。之所以在这里还提及到了字符串和元组,是因为我们这里要讲的对列表的高阶操作,对他们也同样适用。这些操作包括:索引(前面已经讲过)

切片

组合(加、乘)

成员检测(前面也讲过)

成员遍历

长度和最值

下面,我们开始一个一个的来学习这些具体的实现方法。

1、索引

索引在之前已经讲过了,索引的序号从0开始,并且用「[ ]」括号将序号扩起来,放在对象的后面,表示该列表对象中的具体某一个值。

stock_list[5] 表示stock_list中的第6个元素。

2、切片

切片就像是升级版索引,索引只能取出某一个具体的元素,而切片则可以切出一片元素。因此,和索引需要一个序号不同,切片需要两个序号,一个开始序号和一个结束序号,中间使用冒号隔开,切片就是取出从开始到结束,中间这部分的元素。特别强调,python中,切片时,包含开始的序号,但不包括结束的序号。

当然,如果我们在切片时,是从第一个数开始切,或者是从某个数切到最后,还可以使用简便一点的方法:

从上面我们也发现,python中是可以倒着索引的,且最后一个元素的序号是-1。

3、组合(加、乘)

像列表、元素、元组这种内置的序列,我们除了进行切片,还可以进行各种组合(加、乘)。具体的,如果我们使用加法,则会将两个列表拼在一起;而乘法,则是将列表进行重复。

4、成员检测(前面也讲过)

对于列表、元组、或者字符串,我们可以去判断某一个元素是否在这个里面,或者判断它没在这个里面。成员元算符非常方便,如果没有这个东西,我们就要拿着这个目标对象,去列表列面一个一个的看,去对比,会繁琐很多。成员运算的结果返回为bool类型,要么在,要么不在,如果为真,返回True;如果为假,返回False。成员运算符是一个非常简单的英语单词「in」,或者可以和not搭配,「not in」。

5、成员遍历

在第四部分内容中,我们说,如果没有成员检测运算符,我们就需要去对比每一个元素,看看目标元素是不是在这个列表里面。这个过程就叫做成员遍历。所谓成员遍历,就是把每一个元素都依次取出来一次,至于取出来之后的操作,都是按照需求确定的。在别的语言中,这个过程一般借助循环和索引递增来完成,而python有专门的处理方法:for遍历语句。

需要注意的是,在for遍历中,我们可以在内部对元素进行处理,但是for的外部,列表的值并没有改变。因为,在for遍历里面,我们只是把这个值拿出来了,处理后并不会自动放回新的值,所以不会改变原值。for这个东西,我们后面还会具体学习,怎么让更改保留,到时候再探讨。

6、长度和最值

长度我们之前已经讲过,直接使用函数len()就可以测出列表的长度,也就是元素的个数。如果需要取得列表中的最大值和最小值,也可以使用同样的方法,分别调用max()和min()函数。

最后,我们再介绍两个也比较常用的方法:.index() 获取列表中第一个该元素的索引

.count() 列表中该元素的个数

最后,对于某一个对象,我们可以使用dir()函数查看其所有可以使用的方法:dir(list),输出结果为:

['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

有了这些方法后,我们还需要知道具体某一个方法的功能和用法,使用 help()函数:help(list.append),输出如下:

我们就先到这里啦,下次再见吧!

相关文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值