Python切片操作(深度解析)

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 深度解析字符串、列表、元组的切片运算,对于初学者,切片和索引的概念可能很模糊,所以这里首先解释一下什么是索引与切片!!!

切片与索引


深度解析字符串、列表、元组的切片运算


对于初学者,切片和索引的概念可能很模糊,所以这里首先解释一下什么是索引与切片!!!


切片:是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。


索引:对于有其他编程语言基础的人就很好理解了,类似于数组中的下表,对于新手可以理解为一串序列他的顺序减一就是它所对应的索引,如下:

str="1,2,3,4,5,6"
#str[0]的值就是1,str[1]的值就是2,以此类推
#索引就是[]中的数字



一个完整的切片包括三部分——[索引首部:索引尾部:切片的步长与方向],当然它也可以不完整,具体的我们看代码解释


首先有一个大家经常忽视掉的重点那就是索引头部到索引尾部是左闭右开的,即:[索引头部,索引尾部)

str="hello,baibai"
#接下来给大家展示一些最常用的切片,请注意思考为什么
print(str[6])#b
print(str[6:11])#baiba


因为左闭右开,所以[6:11]对应的字符串就是’baiba’,但是索引已经到头了呀,那我们想输出’baibai’要怎么样,才可以呢?

print(str[6:12])#baibai
print(str[6:])#baibai


这里为什么能到12呢?


因为字符串的结尾默认是自动加’\0’结尾所以可以到12,并且是不越界的


第二行这种是没有写索引尾部到哪里,所以默认输出到最后一个字符;


同时如果没有写索引首部,那我们也是默认从第一个字符开始的;

print(str[:6])#hello,
print(str[:])#hello,baibai


上面第二行代码,’ : '两边都没有数字那我们就可以省略掉了


学而不思则妄,如果你从头是仔细阅读过来的那你肯定已经掌握关于切片的基础了,可以思考一下下面代码为什么输出的是这样子的,等你都想通后,你就已经成功掌握字符串的索引与切片了!

print(str[-1])#i
print(str[:-1])#hello,baiba
print(str[::-1])#iabiab,olleh
print(str[::2])#hlobia


如果你知道了上面的代码为什么这样,那你是不是同我一样有一个逆置输出的想法呢?废话不多说,上代码

str="我爱你"
#有细节 注意思考!!!!!!!!!
print(str[4::-1])#你爱我


最开始提到了,列表和元组都支持切片,那我们接下来就看看,列表与元组的切片如何实现吧!


不是吧!!!都看完字符串的切片了,还看列表与元组的切片??为了不要太枯燥我们看一下一个"复杂"的切片

#这里直接应用,我昨天作业的一个数据
goods=[(1,"百事可乐",10,3),(2,"康师傅方便面",15,2),(3,"马克杯",5,30)]
print(goods)#[(1, '百事可乐', 10, 3), (2, '康师傅方便面', 15, 2), (3, '马克杯', 5, 30)]
print(goods[1])#(2, '康师傅方便面', 15, 2)
print(goods[1:])#[(2, '康师傅方便面', 15, 2), (3, '马克杯', 5, 30)]
print(goods[0][1])#百事可乐
print(goods[0][1::-1])#('百事可乐', 1)



以大家的IQ,相信看完就已经懂了,而且以此类推,相信大家以后对切片再无恐惧了!是十分简单的


Ps:这是我的学习笔记,发出来是给自己看的,如果哪里有错误或者需要补的地方,希望大家指点指点,重谢!!!


相关文章
|
2天前
|
存储 索引 Python
Python入门:6.深入解析Python中的序列
在 Python 中,**序列**是一种有序的数据结构,广泛应用于数据存储、操作和处理。序列的一个显著特点是支持通过**索引**访问数据。常见的序列类型包括字符串(`str`)、列表(`list`)和元组(`tuple`)。这些序列各有特点,既可以存储简单的字符,也可以存储复杂的对象。 为了帮助初学者掌握 Python 中的序列操作,本文将围绕**字符串**、**列表**和**元组**这三种序列类型,详细介绍其定义、常用方法和具体示例。
Python入门:6.深入解析Python中的序列
|
2天前
|
存储 Linux iOS开发
Python入门:2.注释与变量的全面解析
在学习Python编程的过程中,注释和变量是必须掌握的两个基础概念。注释帮助我们理解代码的意图,而变量则是用于存储和操作数据的核心工具。熟练掌握这两者,不仅能提高代码的可读性和维护性,还能为后续学习复杂编程概念打下坚实的基础。
Python入门:2.注释与变量的全面解析
|
1天前
|
存储 人工智能 程序员
通义灵码AI程序员实战:从零构建Python记账本应用的开发全解析
本文通过开发Python记账本应用的真实案例,展示通义灵码AI程序员2.0的代码生成能力。从需求分析到功能实现、界面升级及测试覆盖,AI程序员展现了需求转化、技术选型、测试驱动和代码可维护性等核心价值。文中详细解析了如何使用Python标准库和tkinter库实现命令行及图形化界面,并生成单元测试用例,确保应用的稳定性和可维护性。尽管AI工具显著提升开发效率,但用户仍需具备编程基础以进行调试和优化。
70 9
|
8天前
|
监控 算法 安全
内网桌面监控软件深度解析:基于 Python 实现的 K-Means 算法研究
内网桌面监控软件通过实时监测员工操作,保障企业信息安全并提升效率。本文深入探讨K-Means聚类算法在该软件中的应用,解析其原理与实现。K-Means通过迭代更新簇中心,将数据划分为K个簇类,适用于行为分析、异常检测、资源优化及安全威胁识别等场景。文中提供了Python代码示例,展示如何实现K-Means算法,并模拟内网监控数据进行聚类分析。
30 10
|
26天前
|
存储 算法 安全
控制局域网上网软件之 Python 字典树算法解析
控制局域网上网软件在现代网络管理中至关重要,用于控制设备的上网行为和访问权限。本文聚焦于字典树(Trie Tree)算法的应用,详细阐述其原理、优势及实现。通过字典树,软件能高效进行关键词匹配和过滤,提升系统性能。文中还提供了Python代码示例,展示了字典树在网址过滤和关键词屏蔽中的具体应用,为局域网的安全和管理提供有力支持。
52 17
|
29天前
|
运维 Shell 数据库
Python执行Shell命令并获取结果:深入解析与实战
通过以上内容,开发者可以在实际项目中灵活应用Python执行Shell命令,实现各种自动化任务,提高开发和运维效率。
56 20
|
1月前
|
数据采集 供应链 API
Python爬虫与1688图片搜索API接口:深度解析与显著收益
在电子商务领域,数据是驱动业务决策的核心。阿里巴巴旗下的1688平台作为全球领先的B2B市场,提供了丰富的API接口,特别是图片搜索API(`item_search_img`),允许开发者通过上传图片搜索相似商品。本文介绍如何结合Python爬虫技术高效利用该接口,提升搜索效率和用户体验,助力企业实现自动化商品搜索、库存管理优化、竞品监控与定价策略调整等,显著提高运营效率和市场竞争力。
92 3
|
8月前
|
BI 测试技术 索引
Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)-1
Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)
|
8月前
|
存储 API C语言
Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)-2
Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)
|
存储 并行计算 数据挖掘
【100天精通Python】Day59:Python 数据分析_Pandas高级功能-多层索引创建访问切片和重塑操作,pandas自定义函数和映射功能
【100天精通Python】Day59:Python 数据分析_Pandas高级功能-多层索引创建访问切片和重塑操作,pandas自定义函数和映射功能
138 2

热门文章

最新文章