说说Python中切片是什么?

公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助!

小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。

废话不多说,开始今天的题目:

问:说说Python中切片是什么?

答:在Python中切片指的是截取指定范围的数据,对于字符串,元组,和列表都是可以进行切片。

切片操作基本表达式:object[start_index:end_index:step]

start_index:表示起始索引(包含该索引本身);从“起点”还是从“终点”开始,则由step参数的正负决定,step为正从“起点”开始,为负从“终点”开始。

end_index:表示终止索引(不包含该索引本身);该参数省略时,表示一直取到数据到结束,同样也由step参数的正负决定 。

step:正负数均可,其绝对值大小决定了切取数据时的‘‘步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。

注意点:以上三个参数都是可选参数。切片的范围是[start,stop) (左闭右开),step步长参数默认值是1。step不能为0,不然会报错ValueError。

下面用几个常见且易混淆的例子,给大家看一下切片怎么取值,其实看完下面的代码,大家只要记住切片的那3个参数,就万变不离其宗了,看明白了,挺简单的!

lis=[1,2,3,4,5,6,7,8,9]

print(lis[3:7]) # 结果元素里包含下标 3,不含下标 7

print(lis[1:]) # 从下标为1开始,取出 后面所有的元素(没有结束位)

print(lis[:-1]) # 从起始位置开始,取到 倒数第一个元素(不包括结束位本身)

print(lis[:5]) # 从起始位置开始,取到 下标为5的前一个元素(不包括结束位本身)

print(lis[-4:-1]) # 从倒数第4个元素开始,取到 倒数第1个元素(不包括结束位本身)

print(lis[4:-1]) # 从下标第4个元素开始,取到 倒数第1个元素(不包括结束位本身)

print(lis[1:5:2]) # 从下标为1开始,取到下标为5的前一个元素,步长为2(不包括结束位本身)

print(lis[:]) # 取出所有元素(没有起始位和结束位之分),默认步长为1

print(lis[::-1]) # 反向取出所有元素(没有起始位和结束位之分),默认步长为1

输出结果:

[4, 5, 6, 7]
[2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8]
[1, 2, 3, 4, 5]
[6, 7, 8]
[5, 6, 7, 8]
[2, 4]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[9, 8, 7, 6, 5, 4, 3, 2, 1]

(0)

相关推荐

  • 5个 Python 切片技巧,让你的代码更加优雅

    在Python世界中,有许多小技巧可以对我们的代码产生很大的影响.特别是对于大型程序,这些小技巧可以使我们的代码更整洁和优雅. 切片操作(slice operator)就是其中的一个.它可以帮助我们优 ...

  • python——字符串及练习

    一.字符串的定义 # 定义一个字符串a = 'hello'# 有特殊字符时,需要转译c = 'I\'m a student'# 或者特殊字符用双引号引起来d = "I'm a student ...

  • Python科学运算之存取元素

    用整数作为下标可以获取数组中的某个元素 用范围作为下标获取数组的一个切片,包括a[3]不包括a[5] 省略开始下标,表示从a[0]开始 下标可以使用负数,表示从数组后往前数 下标还可以用来修改元素的值 ...

  • 对比 Python 原生切片,讲述 Numpy 数组切片!

    对比 Python 原生切片,讲述 Numpy 数组切片!

  • Python|用切片删除字符串中的首尾空格

    问题描述当我们想要删除一个字符串前后的空格时,通常会想到使用strip()函数,但如果不用这个函数,应该怎么做呢,今天就由小编来为大家编写一个代码实现用切片删除字符串中的首尾空格.请写一个函数,实现删 ...

  • Python 中的函数装饰器和闭包

    函数装饰器可以被用于增强方法的某些行为,如果想自己实现装饰器,则必须了解闭包的概念. 装饰器的基本概念 装饰器是一个可调用对象,它的参数是另一个函数,称为被装饰函数.装饰器可以修改这个函数再将其返回, ...

  • Python中tuple和list的区别?基础学习!

    想必大家都知道,Python数据类型有很多种,其中有两个对象的写法非常相似,它就是tuple元组和list列表,让人傻傻分不清楚.那么你知道Python中tuple和list有什么区别吗?我们来看看具 ...

  • Python中缩进是什么?入门分享!

    众所周知,Python是一门独特的编程语言,它语法清晰.简单易学,而且Python是通过缩进来识别代码块的,因为一般的语言都是通过{}或者end来作为代码块标记. Python中缩进是什么? 要求严格 ...

  • python中的内置函数

    前言 本人只在csdn写博客 内置函数 介绍 一. 数学运算 abs()求绝对值函数 round() 近似取值 pow()求指数 divmod()求商和余数 max()求最大值和min()求最小值 s ...

  • 【Python核心编程笔记】一、Python中一切皆对象

    Python中一切皆对象 本章节首先对比静态语言以及动态语言,然后介绍 python 中最底层也是面向对象最重要的几个概念-object.type和class之间的关系,以此来引出在python如何做 ...

  • 【青少年编程】Python中的分号

    今天有小朋友问我以下的选择题: 关于Python赋值语句,以下选项中不合法的是() A. x = (y=1) B. x, y = y, x C. x = y = 1 D. x = 1; y = 1 这 ...

  • 关于python中if __name__ == '__main__':的理解

    调试代码的时候都会写上if __name__ == '__main__':,然后写上数据进行调试,一直没有理解到这句的含义,就照搬着写,到现在才算理解到,大概说下自己的见解. 1.在python里__ ...

  • 彻底搞懂Python 中的 import 与 from import

    对不少 Python 初学者来说,Python 导入其他模块的方式让他们很难理解.什么时候用import xxx?什么时候用from xxx import yyy?什么时候用from xxx.yyy ...