说说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]

文末推荐文章链接:

https://www.jianshu.com/p/15715d6f4dad


如果对于参考答案有不认同的,大家可以在评论区指出和补充,欢迎留言!

相关文章
|
3月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
289 2
|
3月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
218 0
|
3月前
|
索引 Python
Python 列表切片赋值教程:掌握 “移花接木” 式列表修改技巧
本文通过生动的“嫁接”比喻,讲解Python列表切片赋值操作。切片可修改原列表内容,实现头部、尾部或中间元素替换,支持不等长赋值,灵活实现列表结构更新。
159 1
|
3月前
|
索引 Python
098-python列表_切片_slice_开始_结束
本文介绍了Python中列表的切片(slice)操作,通过“前闭后开”原则截取列表片段,支持正负索引、省略端点等用法,并结合生活实例(如切面包、直播切片)帮助理解。切片不改变原列表,返回新列表。
307 4
|
5月前
|
数据采集 索引 Python
Python Slice函数使用教程 - 详解与示例 | Python切片操作指南
Python中的`slice()`函数用于创建切片对象,以便对序列(如列表、字符串、元组)进行高效切片操作。它支持指定起始索引、结束索引和步长,提升代码可读性和灵活性。
|
BI 测试技术 索引
Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)-1
Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)
|
Python
python元组切片
python元组切片
512 3
|
索引 Python
Python 高级编程:深入探索字符串切片
在Python中,字符串切片功能强大,可灵活提取特定部分。本文详细介绍切片技巧:基本切片、省略起始或结束索引、使用负数索引、设定步长及反转字符串等。此外,还介绍了如何结合其他操作进行切片处理,如先转换大小写再提取子串。 来源:https://www.wodianping.com/yeyou/2024-10/48238.html
333 4
|
数据处理 索引 Python
Python 中的切片
【8月更文挑战第29天】
493 4
|
机器学习/深度学习 数据可视化 API
Python Numpy 切片和索引(高级索引、布尔索引、花式索引)
Python Numpy 切片和索引(高级索引、布尔索引、花式索引)
187 3

推荐镜像

更多