课时2:切片

简介: 切片是Python中用于从列表、字符串等序列类型中提取子序列的操作。通过指定起始、结束索引及步长,可灵活获取所需部分。例如,`stus = ['孙悟空', '猪八戒', '沙和尚']`,使用`stus[0:2]`可获取前两个元素。负数索引从末尾开始计数,如`stus[-1]`获取最后一个元素。切片不会修改原列表,且支持省略起始或结束索引,步长默认为1,不可为0,负数步长则反向取值。

切片

 

摘要:本内容为切片的介绍。

1.切片基础介绍              

1.1切片的基础信息

新建一个文件

image.png

将列表想象为一个完整的对象,将其中某一个对象取出。

切片为获取列表的局部,若想获取中间部分或前、后部分,或者指定的几个部分。

切片是把列表想象为一个完整的蛋糕,切蛋糕中的某一个部分。切片指从现有列表中,获取一个子列表

(1)创建一个列表,一般创建列表时,变量的名字会使用复数

Stus=[‘孙悟空’,‘猪八戒’,‘沙河尚’]
Print(stus)

进行运行:

image.png

若想获取到孙悟空,则:

Print(stus[0])

运行执行:

image.png

若想获取到猪八戒,则:

Print(stus[1])

运行执行:

image.png

若想获取到沙河尚,则:

Print(stus[2])

运行执行:

image.png

注意:列表的索引可以是负数

Print(stus[-1])

运行执行:

image.png

Print(stus[-2])

运行执行:

image.png

如果索引是负数,则从后向前获取元素,-1表示倒数第一个,-2表示倒数第二个以此类推。写-1就是获取到沙和尚,写-2就是获取到猪八戒,写-3就是到孙悟空。

Print(stus[-3])

运行执行:

image.png

Print(stus[-4])

运行执行:如果写-4就是报错

image.png

(2)现在想获取列表中前两个:孙悟空,猪八戒,可以通过切片来获取。

l 通过切片来获取指定的元素,切片的语法:列表[起始:结束]

注意:通过切片获取元素时,会包括起始位置的元素,不会包括结束位置的元素

Stus=[‘孙悟空’,‘猪八戒’,‘沙河尚’,‘唐僧’,‘蜘蛛精’,‘白骨精’]
Print(stus[0:2])

运行执行:

image.png

Print(stus[1:4])

运行执行:孙悟空是0,猪八戒是1,沙和尚是2,唐僧是3,蜘蛛精是4,起始位置从1猪八戒开始,结束位置是4蜘蛛精结束,那么结果就包含3个元素,因为不包括结束位置。

image.png

l 做切片操作时,总会返回一个新的列表,不会影响原来的列表。

Print(stus)

运行执行:

image.png

切片获取元素时,不会对原列表产生影响。如果起始和结束位置的索引都可以省略不写

Print(stus[1:]
Print(stus)

进行执行:

image.png

#如果省略结束位置,则会一直截取到最后

Print(stus[1:3])

进行执行:

image.png


Print(stus[:3])

进行执行:

image.png

#如果省略开始位置,则会从第一个元素开始截取

Print(stus[ :])

进行执行:

image.png

如果起始位置和结束位置全部省略,则相当于创建了一个列表的副本。

(3)步长

#语法:列表[起始:结束:步长]

Print(stus[0:5])

运行执行:

image.png

Print(stus[0:5:1]) //1就是步长

运行执行:

image.png

步长表示,每次获取元素的间隔,默认值是1。默认情况下每隔一个接一个。

步长为1,往下跳过孙悟空下一个为猪八戒,以此类推。

若步长为2:

Print(stus[0:5:2])

从孙悟空开始,下2个为沙河尚,沙和尚下2个蜘蛛精,以此类推。

运行执行:

image.png

若步长为3:

Print(stus[0:5:3])

孙悟空开始,下3个为唐僧,以此类推。

运行执行:

image.png

l 步长不能是0,但是可以是负数

Print(stus[::0])  ValueErrpr:slice step cannot be zero

运行执行:报错

image.png

Print(stus[::-1])

运行执行:

image.png

如果是负数,则会从列表的后部向前取元素

以上便是切片内容,自行操作熟悉。

 

相关文章
|
存储 Rust 并行计算
【密码学】一文读懂XTS模式
这篇文章的灵感来源于我偶然翻到的一个某U盘有关磁盘加密的一个介绍(这一篇不是广告蛤), 然后发现这个模式我之前还真没遇到过,因此呢,就学习了一下,就出来了这一篇文章。
8644 0
【密码学】一文读懂XTS模式
|
存储 移动开发 算法
语音识别(ASR)--语音转文字
音识别(Automatic Speech Recognition) 是以语音为研究对象,通过语音信号处理和模式识别让机器自动识别和理解人类口述的语。语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的高技术。语音识别是一门涉及面很广的交叉学科,它与声学、语音学、语言学、信息理论、模式识别理论以及神经生物学等学科都有非常密切的关系。
3926 0
|
6月前
|
SQL 存储 关系型数据库
MySQL误删/批量更新数据恢复实战:基于Flashback工具的完整方案
本文介绍MySQL闪回技术,对比主流工具binlog2sql、MyFlash和my2sql,详解基于my2sql的误操作恢复流程,涵盖原理、实操步骤与预防措施,助力高效恢复批量数据误删/误改问题。
704 0
MySQL误删/批量更新数据恢复实战:基于Flashback工具的完整方案
|
6月前
|
数据采集 机器学习/深度学习 供应链
API数据分析:淘宝销售预测模型,决策更科学!
本文介绍如何基于淘宝API数据构建电商销售预测模型,涵盖数据采集、特征工程、XGBoost建模及MAPE评估,实现精准销量预估。结合时间、行为与促销特征,提升库存周转率15%-30%,降低滞销风险,支持自动化每日更新,助力精细化运营。(239字)
|
6月前
|
存储 人工智能 NoSQL
2025阿里云高性能企业级云服务器 c9i/g9i/r9i 实例价格表及性能详细测评
在企业级云服务器选型中,计算性能、内存容量、网络稳定性及存储效率是核心考量维度。阿里云推出的九代云服务器实例(计算型 c9i、通用型 g9i、内存型 r9i),依托全新 CIPU 架构与英特尔 ® 至强 ®6 处理器,在高性能场景(如 AI 推理、大数据分析、高并发服务)中表现突出。本文将从实例性能特点、详细参数、价格体系及适用场景展开测评,为企业用户提供精准选型参考。
|
负载均衡 算法
架构学习:7种负载均衡算法策略
四层负载均衡包括数据链路层、网络层和应用层负载均衡。数据链路层通过修改MAC地址转发帧;网络层通过改变IP地址实现数据包转发;应用层有多种策略,如轮循、权重轮循、随机、权重随机、一致性哈希、响应速度和最少连接数均衡,确保请求合理分配到服务器,提升性能与稳定性。
3032 11
架构学习:7种负载均衡算法策略
|
监控 Ubuntu Linux
ubuntu中设置开机自动运行的(sudo)指令
通过合理选择和配置上述方法,您可以确保在系统启动时自动执行所需的命令,并具备sudo权限,从而提高系统自动化管理的能力。
2495 8
|
机器学习/深度学习 安全 算法
《联邦学习:打破数据孤岛,实现隐私保护下的跨机构协作》
联邦学习是一种分布式机器学习技术,核心理念为“数据不动模型动”,即在不交换原始数据的前提下,各机构基于本地数据独立训练模型,并通过加密方式上传模型参数更新至中央服务器进行聚合,从而提升全局模型性能。它分为横向、纵向和联邦迁移学习三种类型,分别适用于不同场景下的数据协作。联邦学习有效解决了数据隐私保护与跨机构协作的难题,在医疗、金融等领域展现出巨大潜力,推动了智能化变革。尽管仍面临通信效率、安全性和可解释性等挑战,但其前景广阔。
1707 25
|
消息中间件 监控 数据处理
消息队列和应用工具产品体系-APM 系统简述和架构演化
消息队列和应用工具产品体系-APM 系统简述和架构演化
|
机器学习/深度学习 人工智能 自然语言处理
什么是NLP(自然语言处理)?
自然语言处理( Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。
3117 1