`

Python入门 切片

阅读更多

切片 (Java中的截取字符串和数组)

取一个list的部分元素是非常常见的操作。

比如,一个list如下:

>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']

取前3个元素,应该怎么做?

笨办法:

>>> [L[0], L[1], L[2]]
['Adam', 'Lisa', 'Bart']

 

如果要去的数量多时,可以用循环:

取前N个元素,也就是索引为0-(N-1)的元素,可以用循环:

>>> r = []
>>> n = 3
>>> for i in range(n):
...     r.append(L[i])
... 
>>> r
['Adam', 'Lisa', 'Bart']

对这种经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符,能大大简化这种操作。

对应上面的问题,取前3个元素,用一行代码就可以完成切片:

>>> L[0:3]
['Adam', 'Lisa', 'Bart']

从索引0开始取,直到索引3,但不包括索引3.

如果第一个索引是0,可以省略:L[:3]

 只用一个:,表示取从头到尾,因此,L[:]实际上复制除了一个新的list。

切片操作还可以指定第三个参数:

>>> L[::2]
['Adam', 'Bart']

第三个参数表示每N个取一个,上面的 L[::2] 会每两个元素取出一个来,也就是隔一个取一个。

把list换成tuple,切片操作完全相同,只是切片的结果也变成了tuple。

 

倒序切片:

对于list,既然Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片,试试:

>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']

>>> L[-2:]
['Bart', 'Paul']

>>> L[:-2]
['Adam', 'Lisa']

>>> L[-3:-1]
['Lisa', 'Bart']

>>> L[-4:-1:2]
['Adam', 'Bart']

记住倒数第一个元素的索引是-1。倒序切片包含起始索引,不包含结束索引。

 

对字符串切片:

字符串 'xxx'和 Unicode字符串 u'xxx'也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串:

>>> 'ABCDEFG'[:3]
'ABC'
>>> 'ABCDEFG'[-3:]
'EFG'
>>> 'ABCDEFG'[::2]
'ACEG'

 

分享到:
评论

相关推荐

    python入门教程大全.pdf 精心整理

    【Python入门教程】系列涵盖了多个基础到进阶的Python知识点,包括了数据导入、网络爬虫、基础语法、错误处理、面试准备、模板库、服务器配置、数据结构、类型操作、异常处理、字符串处理、爬虫开发、应用场景、编码...

    Python实验报告_Python入门教程_

    "Python实验报告_Python入门教程_"这个标题暗示了本教程将通过一系列实验,帮助你从零开始掌握Python的基础知识。"Python入门教程"标签进一步强调了这个资源的目标群体是那些对编程一无所知或刚刚接触Python的人。 ...

    Python入门教程 超详细1小时学会Python.pdf

    Python 的字符串操作非常灵活,例如可以使用索引、切片、连接等操作。例如,以下代码将输出字符串 "abcdefg" 的第二个字符:word="abcdefg";a=word[2];print "a is: "+a; 8. Python 的 Unicode 支持 Python 支持 ...

    人工智能实践教程-从Python入门到机器学习邵一川-教学大纲-8页.doc

    《人工智能实践教程——从Python入门到机器学习》是一门针对通信工程、计算机、大数据、人工智能相关专业设计的专业基础课程,旨在让学生掌握Python编程基础知识,并具备独立开发Python简单项目的能力。课程涵盖...

    夜曲编程Python入门课程Pro知识点思维导图

    在"夜曲编程Python入门课程Pro知识点思维导图"中,我们可以看到一系列关于Python编程的基础到进阶概念。这些概念是学习Python编程的关键,对于初学者来说尤其重要。以下是根据提供的文件名所涵盖的主要知识点的详细...

    Python入门教程-超详细1小时学会Python.rar_Python 入门_Python入门_python_python

    这个“Python入门教程-超详细1小时学会Python”旨在帮助你在短时间内掌握Python的基本概念和常用技巧。 首先,Python的语法基础是学习的重点。Python采用缩进来表示代码块,这使得代码看起来整洁有序。变量的声明...

    python基础入门(超详细).pdf

    以下是一些关于Python基础入门的知识点: 1. **Input和Output**:`input()` 函数用于从用户那里获取输入,例如在例子中用来获取密码。`print()` 函数则用于在控制台输出信息。在示例中,它被用来显示用户输入的密码...

    Python入门教程 超详细1小时学会Python

    "Python入门教程 超详细1小时学会Python" 是一个专为初学者设计的教程,旨在帮助你在短短一小时内快速掌握Python的基础知识。 教程可能涵盖以下内容: 1. **安装Python环境**:首先,你需要安装Python解释器,通常...

    零基础Python入门--课件代码下载1-1_python入门_

    【Python入门】 Python是一种广泛使用的高级编程语言,以其易读性强、语法简洁著称,适合初学者入门。本课程的“零基础Python入门”旨在帮助完全不懂编程的人快速掌握Python的基本概念和语法。 首先,我们从“lect...

    第5章-python列表-python入门、python基础课件.pptx

    第五章主要讲解了Python编程语言中的列表数据结构。列表是Python中最常用的数据类型之一,它允许存储和操作多个数据项,这些数据项可以是不同类型的。列表由一系列按特定顺序排列的元素组成,通常用方括号`[]`来表示...

    夜曲编程Python入门课程Pro.pdf

    列表中的元素可以是不同类型的数据,可以通过索引访问和切片操作,如`print(friendName[1])`和`print(friendName[1:3])`。 列表提供了多种操作方法,如`append()`用于在末尾添加元素,`insert(idx, val)`用于在指定...

    python3.8入门教程完整版-Python3.8从入门到精通(视频教学版).pdf

    **Python 3.8 入门教程完整版** 在学习Python 3.8这门流行的编程语言时,首先需要理解其基本概念和环境搭建。Python以其简洁易读的语法和强大的功能深受程序员喜爱。本教程从感受Python精彩世界开始,详细讲解了...

    Python入门经典实例.pdf

    【Python入门经典实例】 在学习Python编程的过程中,掌握基础语法和常用数据结构是至关重要的。以下是一些关键知识点,从给定的实例中提取出来: 1. **输入与输出**: - `input()` 函数:它用于从用户那里接收...

    python入门笔记(推荐)

    这篇“Python入门笔记”旨在帮助初学者快速掌握Python的基础知识,通过实践操作来加深理解。 首先,Python的语法特点是它的一大亮点。Python代码强调可读性,遵循“缩进决定代码块”的原则,避免了大括号带来的视觉...

    Python入门案例代码

    在Python编程语言的世界里,"Python入门案例代码"是一份非常适合初学者的资源,它包含了大量帮助理解基础概念和语法的实例。这份压缩包可能是博主为了教学目的精心编排的一系列教程,旨在引导新手逐步掌握Python的...

    python入门速查表

    【Python入门速查表】是为初学者设计的一份实用指南,旨在帮助快速掌握Python编程基础知识。这份速查表通常包含各种语法结构、内置函数、常用模块和编程技巧的概览,是学习和工作中便捷的参考资料。以下是根据速查表...

    Python入门.pdf

    ### Python入门知识点详解 #### 一、Python简介与特点 Python是一种高级编程语言,由Guido van Rossum创建,以其简洁、清晰的语法著称,适用于多种编程领域,包括Web开发、数据分析、人工智能等。Python的特点包括...

    头歌python入门之基础语法答案.pdf

    Python 中的列表可以使用索引和切片来访问和操作。 十七、变量类型转换: Python 中的变量可以使用int、float、str等函数来转换类型。 十八、赋值操作符: Python 中的赋值操作符包括+=、-=、/=等。 十九、...

    Python Tutorial Python入门指南

    1. **列表**(List):有序且可变的集合,使用方括号 `[]` 定义,支持索引和切片操作。 2. **元组**(Tuple):有序且不可变的集合,使用圆括号 `()` 定义,通常用于数据打包和解包。 3. **字典**(Dictionary):...

Global site tag (gtag.js) - Google Analytics