`

python序列学习

阅读更多
       我的学习python练习的环境的是ubuntu 14.04操作系统,默认的是安装python2.7。所以一切的练习都是在python2.7上。下面我把学习序列的一些操作和想法分享给大家。
        python的序列像java中的数组,一般数组都是用于存放元素或对象。我们可以对python序列进行,通过索引查找元素,插入操作,乘法操作,遍历,还有对序列的元素的子集进行操作,又称分片。
       索引:序列中所有元素都是有有编号的,从左往右,从0开始依次递增,这编号就称为索引。
   测试代码:
>>> arr=[1,2,3,4,5,6,7,8,9]
>>> arr
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> arr[0]
1
>>> arr[-1]
9

习惯了java代码,习惯上数组的变量都是用arr开头,我们还是称为序列吧。我们可以看到arr[0]的元素是1,其中0就是索引,1就是序列中的元素。python也支持传负数,负数的的规律从右往左依次是-1,-2……
       分片:分片操作其实就是依索引为基础,操作序列的子集合(一定范围内的元素),类似与java中的截取操作。
测试代码:
>>> arr[0:3]
[1, 2, 3]
>>> arr[7:12]
[8, 9]
>>> arr[5:len(arr)]
[6, 7, 8, 9]
>>> arr[-3:-1]
[7, 8]
>>> arr[-3:0]
[]
>>> arr[-3:-9]
[]

从以上例子可以看出,python的分片操作是以“[开始索引:结束索引]”来获取子集合,其中包含开始索引元素,不包含结束索引元素,第二个例子,索引12在arr中没有存在元素,所以输出到最后一个元素,没有报异常。三个例子其中len是获取序列的长度。一般java中经常用到,防止数组索引过界。由第二个例子可以看出python不用担心,索引可以为负数,表示从右开始-1,-2……,从第四个到第六个例子可以看出。可以用负数进行分片操作。第五个例子和第六个例子说明,如果使用负数,两个都要是负数,且冒号右边大于左边。
分片还有以下操作:
取最后三个元素:
>>> arr[-3:]
[7, 8, 9]

取所有元素:
>>> arr[:]
[1, 2, 3, 4, 5, 6, 7, 8, 9]

分片中的步长:也就是分片中除了开始索引和结束索引,还可以添加一个参数,称为步长,就是隔几个取值,难理解就看例子。
>>> arr[0:9:1]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> arr[0:9:2]
[1, 3, 5, 7, 9]
>>> arr[::3]
[1, 4, 7]
>>> arr[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1]
>>> arr[3:5:-1]
[]
>>> arr[5:3:-1]
[6, 5]
>>> arr[:3:-1]
[9, 8, 7, 6, 5]
>>> arr[3::-1]
[4, 3, 2, 1]

从以上例子,可以得出结论:步长正数时,若是索引全部指定,从小到大,第一个值,是索引指定元素获得子集合中第一个元素,然后按照步长取值。步长负数时:开始索引小于结束索引,按照步长取值。只有一个值时,在开始索引位置时,第二值默认就是0,在结束索引位置时,开始索引默认的值是len(arr),正数时相反。
分享到:
评论

相关推荐

    python机器学习教程-从零开始掌握Python机器学习:十四步教程.pdf

    随着计算能力的增强,深度学习已成为机器学习的重要分支,特别是卷积神经网络(CNN)在图像识别和自然语言处理(NLP)中的应用,以及循环神经网络(RNN)在序列数据处理中的作用。TensorFlow和Keras是常用的深度学习...

    用 Python 进行时间序列分析与预测.pdf

    在Python中,有许多强大的库,如`pandas`、`statsmodels`和`forecast`,可以帮助我们进行时间序列分析与预测。本文将深入探讨时间序列分析的常用算法,并以Python为例,展示如何实现这些算法。 首先,我们要理解...

    python实现分段线性表示.zip_python_python时间序列_tunedtr_代码_分段线性表示

    综上所述,这个压缩包中的代码可能是一个完整的Python解决方案,涵盖了时间序列分析的关键步骤,特别是分段线性表示的实现,对于学习和应用时间序列分析的开发者来说,是一个宝贵的资源。通过深入研究这段代码,我们...

    python 深度学习

    在Python深度学习实践中,读者会学习如何使用Keras构建各种神经网络架构,如卷积神经网络(CNN)用于图像识别,循环神经网络(RNN)用于序列数据处理,以及生成对抗网络(GAN)用于生成新的数据样本。此外,还会讲解...

    python学习代码 python学习代码 python学习代码

    Python是一种高级编程语言,以其简洁明了的语法和强大的功能深受程序员喜爱,尤其适合初学者进行编程学习。本文将深入探讨Python的学习代码及其在不同领域的应用。 Python的基础语法是其核心知识点之一。它采用缩...

    第2章 Python序列.pptx

    Python序列概述 Python序列是 Python 中一种基本的数据结构,分为有序序列和无序序列。有序序列指的是元素之间有顺序关系的序列,例如列表、元组、字符串等;无序序列指的是元素之间没有顺序关系的序列,例如集合、...

    Python-srsly用于Python的现代高性能序列化工具

    Python-srsly是一个针对Python开发的现代高性能序列化库,其设计目的是为了提供高效的数据序列化和反序列化功能,特别是在处理JSON、MessagePack和BSON等格式时表现优秀。这个库是为了解决标准库如json和pickle在...

    通过Python进行时间序列的分析与预测.pdf

    本资料《通过Python进行时间序列的分析与预测》由Changquan Huang和Alla Petukhina共同撰写,旨在为读者提供应用Python进行时间序列分析和预测的全面指导。 首先,了解时间序列的基本概念至关重要。时间序列是由...

    实验1Python序列.rar

    本实验“实验1Python序列”旨在帮助学习者深入理解这些基本序列类型的功能和用法。 首先,我们来详细探讨Python中的列表。列表是最常用的数据结构之一,它允许存储任意类型的对象,并且可以动态调整大小。创建一个...

    python实现基于深度学习的时间序列预测项目合集源码+文档说明(高分项目).zip

    python实现基于深度学习的时间序列预测项目合集源码+文档说明(高分项目).zip包含:1.预测趋势和季节性(单变量)2.用于时间序列预测的MLP、用于时间序列预测的CNN、用于时间序列预测的LSTM。如何根据智能手机数据...

    Python时间序列和文件处理学习笔记整理.pdf

    在学习Python进行时间序列分析与文件处理时,首先需要掌握的是如何使用Python的标准库和第三方库来处理时间对象。在Python中,`datetime`模块是处理日期和时间的标准库之一,它允许开发者创建、操作和格式化日期和...

    Python机器学习编程与实战_PPT课件.rar

    《Python机器学习编程与实战》课程的PPT课件涵盖了从Python基础知识到机器学习实践的广泛内容,旨在帮助学习者掌握Python在数据处理和机器学习领域的应用。以下是对每个章节主要内容的详细阐述: 1. **第1章 Python...

    时间序列python代码

    在这个项目中,你可能会学习到如何使用Python和相关的库来处理和分析时间序列数据,以及如何利用这些工具进行有效的预测。通过实践,你可以提高对时间序列分析的理解,并掌握实际应用中的技巧。

    python利用支持向量机SVM进行时间序列预测(数据+源码)

    支持向量机(Support Vector Machine,简称SVM)是一种强大的监督学习模型,广泛应用于分类和回归任务,包括时间序列预测。在本主题中,我们将深入探讨如何使用Python和SVM来预测时间序列数据,同时结合提供的`demo....

    Python学习资源

    "零基础学python"这个压缩包很可能是针对初学者设计的一系列学习资料,旨在帮助没有编程背景的人逐步掌握Python编程。 在学习Python的过程中,以下几个关键知识点是必不可少的: 1. **基础语法**:Python的基础...

    Python-金融时间序列技术分析Python库

    本文将深入探讨标题提及的"Python-金融时间序列技术分析Python库",以及与之相关的机器学习应用。 一、金融时间序列库介绍 1. Pandas Pandas是Python中最常用的数据处理库,它提供了DataFrame对象,非常适合处理...

    神经网络时间序列预测 python

    神经网络 时间序列预测 python语言 code LSTM 深度学习

    Python序列对象与String类型内置方法详解

    Python序列对象与String类型内置方法详解 Python中的序列类型数据结构是一类由整数进行索引的有序集合对象。这些对象可以支持成员关系测试、迭代等操作。序列类型分为可变序列和不可变序列两大类。可变序列如列表...

Global site tag (gtag.js) - Google Analytics